Unverified Commit 838ba3f1 authored by Robert Kimball's avatar Robert Kimball Committed by GitHub

Ubuntu 18 build support (#1101)

* backend libraries now found in tree

dynamically read header search paths

fix running from install
parent 4a2c3c9c
...@@ -45,29 +45,29 @@ find_package_handle_standard_args( ...@@ -45,29 +45,29 @@ find_package_handle_standard_args(
CUDNN DEFAULT_MSG CUDNN_INCLUDE_DIR CUDNN_LIBRARY) CUDNN DEFAULT_MSG CUDNN_INCLUDE_DIR CUDNN_LIBRARY)
if(CUDNN_FOUND) if(CUDNN_FOUND)
# get cuDNN version # get cuDNN version
file(READ ${CUDNN_INCLUDE_DIR}/cudnn.h CUDNN_HEADER_CONTENTS) file(READ ${CUDNN_INCLUDE_DIR}/cudnn.h CUDNN_HEADER_CONTENTS)
string(REGEX MATCH "define CUDNN_MAJOR * +([0-9]+)" string(REGEX MATCH "define CUDNN_MAJOR * +([0-9]+)"
CUDNN_VERSION_MAJOR "${CUDNN_HEADER_CONTENTS}") CUDNN_VERSION_MAJOR "${CUDNN_HEADER_CONTENTS}")
string(REGEX REPLACE "define CUDNN_MAJOR * +([0-9]+)" "\\1" string(REGEX REPLACE "define CUDNN_MAJOR * +([0-9]+)" "\\1"
CUDNN_VERSION_MAJOR "${CUDNN_VERSION_MAJOR}") CUDNN_VERSION_MAJOR "${CUDNN_VERSION_MAJOR}")
string(REGEX MATCH "define CUDNN_MINOR * +([0-9]+)" string(REGEX MATCH "define CUDNN_MINOR * +([0-9]+)"
CUDNN_VERSION_MINOR "${CUDNN_HEADER_CONTENTS}") CUDNN_VERSION_MINOR "${CUDNN_HEADER_CONTENTS}")
string(REGEX REPLACE "define CUDNN_MINOR * +([0-9]+)" "\\1" string(REGEX REPLACE "define CUDNN_MINOR * +([0-9]+)" "\\1"
CUDNN_VERSION_MINOR "${CUDNN_VERSION_MINOR}") CUDNN_VERSION_MINOR "${CUDNN_VERSION_MINOR}")
string(REGEX MATCH "define CUDNN_PATCHLEVEL * +([0-9]+)" string(REGEX MATCH "define CUDNN_PATCHLEVEL * +([0-9]+)"
CUDNN_VERSION_PATCH "${CUDNN_HEADER_CONTENTS}") CUDNN_VERSION_PATCH "${CUDNN_HEADER_CONTENTS}")
string(REGEX REPLACE "define CUDNN_PATCHLEVEL * +([0-9]+)" "\\1" string(REGEX REPLACE "define CUDNN_PATCHLEVEL * +([0-9]+)" "\\1"
CUDNN_VERSION_PATCH "${CUDNN_VERSION_PATCH}") CUDNN_VERSION_PATCH "${CUDNN_VERSION_PATCH}")
# Assemble cuDNN version # Assemble cuDNN version
if(NOT CUDNN_VERSION_MAJOR) if(NOT CUDNN_VERSION_MAJOR)
set(CUDNN_VERSION "?") set(CUDNN_VERSION "?")
else() else()
set(CUDNN_VERSION "${CUDNN_VERSION_MAJOR}.${CUDNN_VERSION_MINOR}.${CUDNN_VERSION_PATCH}") set(CUDNN_VERSION "${CUDNN_VERSION_MAJOR}.${CUDNN_VERSION_MINOR}.${CUDNN_VERSION_PATCH}")
endif() endif()
set(CUDNN_INCLUDE_DIRS ${CUDNN_INCLUDE_DIR}) set(CUDNN_INCLUDE_DIRS ${CUDNN_INCLUDE_DIR})
set(CUDNN_LIBRARIES ${CUDNN_LIBRARY}) set(CUDNN_LIBRARIES ${CUDNN_LIBRARY})
message(STATUS "Found cuDNN: v${CUDNN_VERSION} (include: ${CUDNN_INCLUDE_DIR}, library: ${CUDNN_LIBRARY})") message(STATUS "Found cuDNN: v${CUDNN_VERSION} (include: ${CUDNN_INCLUDE_DIR}, library: ${CUDNN_LIBRARY})")
mark_as_advanced(CUDNN_ROOT_DIR CUDNN_LIBRARY CUDNN_INCLUDE_DIR) mark_as_advanced(CUDNN_ROOT_DIR CUDNN_LIBRARY CUDNN_INCLUDE_DIR)
endif() endif()
...@@ -48,6 +48,7 @@ set(MKLVERSION "2018.0.3.20180406") ...@@ -48,6 +48,7 @@ set(MKLVERSION "2018.0.3.20180406")
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(MKLPACKAGE "mklml_lnx_${MKLVERSION}.tgz") set(MKLPACKAGE "mklml_lnx_${MKLVERSION}.tgz")
set(MKL_SHA1_HASH aea0d9ce65773cfcf5d8292b8db553bde965fc8f) set(MKL_SHA1_HASH aea0d9ce65773cfcf5d8292b8db553bde965fc8f)
set(MKL_LIBS libiomp5.so libmklml_intel.so)
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
set(MKLPACKAGE "mklml_mac_${MKLVERSION}.tgz") set(MKLPACKAGE "mklml_mac_${MKLVERSION}.tgz")
set(MKL_SHA1_HASH d76083fd5a79767a96572ad0e23e7f4c892818f2) set(MKL_SHA1_HASH d76083fd5a79767a96572ad0e23e7f4c892818f2)
...@@ -72,6 +73,11 @@ ExternalProject_Add( ...@@ -72,6 +73,11 @@ ExternalProject_Add(
ExternalProject_Get_Property(ext_mkl source_dir) ExternalProject_Get_Property(ext_mkl source_dir)
set(MKL_ROOT ${EXTERNAL_PROJECTS_ROOT}/mkldnn/src/external/mkl) set(MKL_ROOT ${EXTERNAL_PROJECTS_ROOT}/mkldnn/src/external/mkl)
set(MKL_SOURCE_DIR ${source_dir}) set(MKL_SOURCE_DIR ${source_dir})
add_library(libmkl INTERFACE)
add_dependencies(libmkl ext_mkl)
foreach(LIB ${MKL_LIBS})
target_link_libraries(libmkl INTERFACE ${EXTERNAL_PROJECTS_ROOT}/mkldnn/lib/${LIB})
endforeach()
set(MKLDNN_GIT_REPO_URL https://github.com/intel/mkl-dnn) set(MKLDNN_GIT_REPO_URL https://github.com/intel/mkl-dnn)
set(MKLDNN_GIT_TAG "0e7ca73") set(MKLDNN_GIT_TAG "0e7ca73")
...@@ -143,6 +149,7 @@ add_library(libmkldnn INTERFACE) ...@@ -143,6 +149,7 @@ add_library(libmkldnn INTERFACE)
target_include_directories(libmkldnn SYSTEM INTERFACE ${EXTERNAL_PROJECTS_ROOT}/mkldnn/include) target_include_directories(libmkldnn SYSTEM INTERFACE ${EXTERNAL_PROJECTS_ROOT}/mkldnn/include)
target_link_libraries(libmkldnn INTERFACE target_link_libraries(libmkldnn INTERFACE
${EXTERNAL_PROJECTS_ROOT}/mkldnn/lib/libmkldnn${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXTERNAL_PROJECTS_ROOT}/mkldnn/lib/libmkldnn${CMAKE_SHARED_LIBRARY_SUFFIX}
libmkl
) )
install(DIRECTORY ${EXTERNAL_PROJECTS_ROOT}/mkldnn/lib/ DESTINATION ${NGRAPH_INSTALL_LIB} OPTIONAL) install(DIRECTORY ${EXTERNAL_PROJECTS_ROOT}/mkldnn/lib/ DESTINATION ${NGRAPH_INSTALL_LIB} OPTIONAL)
...@@ -179,12 +179,27 @@ add_definitions("-DLIBRARY_VERSION=\"${NGRAPH_VERSION}\"") ...@@ -179,12 +179,27 @@ add_definitions("-DLIBRARY_VERSION=\"${NGRAPH_VERSION}\"")
set_target_properties(ngraph PROPERTIES VERSION ${NGRAPH_VERSION} SOVERSION ${NGRAPH_API_VERSION}) set_target_properties(ngraph PROPERTIES VERSION ${NGRAPH_VERSION} SOVERSION ${NGRAPH_API_VERSION})
target_link_libraries(ngraph PUBLIC libjson) target_link_libraries(ngraph PUBLIC libjson)
if (${NGRAPH_CPU_ENABLE})
get_target_property(BIN cpu_backend BINARY_DIR)
set_property(TARGET ngraph APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--rpath,${BIN}")
endif()
if (${NGRAPH_GPU_ENABLE})
get_target_property(BIN gpu_backend BINARY_DIR)
set_property(TARGET ngraph APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--rpath,${BIN}")
endif()
if (${NGRAPH_INTERPRETER_ENABLE})
get_target_property(BIN interpreter_backend BINARY_DIR)
set_property(TARGET ngraph APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--rpath,${BIN}")
endif()
if (NOT APPLE) if (NOT APPLE)
# NGraph links against one or more libraries (ex. LLVM) but we don't want to # NGraph links against one or more libraries (ex. LLVM) but we don't want to
# export these symbols as part of the DSO. This is a GNU ld (and derivatives) specific # export these symbols as part of the DSO. This is a GNU ld (and derivatives) specific
# option so making this portable is still an open issue. As a note for the future, # option so making this portable is still an open issue. As a note for the future,
# this is not an issue on Windows and LLVM's lld does support --exclude-libs. # this is not an issue on Windows and LLVM's lld does support --exclude-libs.
set_target_properties(ngraph PROPERTIES LINK_FLAGS "-Wl,--exclude-libs,ALL") set_property(TARGET ngraph APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--exclude-libs,ALL")
# GCC invokes the linker with --as-needed by default which doesn't work for us # GCC invokes the linker with --as-needed by default which doesn't work for us
# because generated code needs to find symbols in these DSOs at runtime. # because generated code needs to find symbols in these DSOs at runtime.
......
...@@ -27,11 +27,15 @@ set_source_files_properties(compiler.cpp PROPERTIES COMPILE_FLAGS "-fno-rtti") ...@@ -27,11 +27,15 @@ set_source_files_properties(compiler.cpp PROPERTIES COMPILE_FLAGS "-fno-rtti")
get_target_property(MKLDNN_INCLUDE_DIR libmkldnn INTERFACE_INCLUDE_DIRECTORIES) get_target_property(MKLDNN_INCLUDE_DIR libmkldnn INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(EIGEN_INCLUDE_DIR libeigen INTERFACE_INCLUDE_DIRECTORIES) get_target_property(EIGEN_INCLUDE_DIR libeigen INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(LLVM_LIB_DIR libllvm INTERFACE_INCLUDE_DIRECTORIES)
# find_file(HEADER_1 cmath HINTS /usr/include/c++/7)
get_filename_component(LLVM_LIB_DIR ${LLVM_LIB_DIR}/../lib/clang/5.0.1/include ABSOLUTE)
set(HEADER_SEARCH_DEFINES set(HEADER_SEARCH_DEFINES
"EIGEN_HEADERS_PATH=\"${EIGEN_INCLUDE_DIR}\"" "EIGEN_HEADERS_PATH=\"${EIGEN_INCLUDE_DIR}\""
"MKLDNN_HEADERS_PATH=\"${MKLDNN_INCLUDE_DIR}\"" "MKLDNN_HEADERS_PATH=\"${MKLDNN_INCLUDE_DIR}\""
"CLANG_BUILTIN_HEADERS_PATH=\"${LLVM_LIB_DIR}/clang/5.0.1/include\"" "CLANG_BUILTIN_HEADERS_PATH=\"${LLVM_LIB_DIR}\""
"NGRAPH_HEADERS_PATH=\"${NGRAPH_INCLUDE_PATH}\"" "NGRAPH_HEADERS_PATH=\"${NGRAPH_INCLUDE_PATH}\""
"INSTALLED_HEADERS_PATH=\"${CMAKE_INSTALL_PREFIX}/include\"" "INSTALLED_HEADERS_PATH=\"${CMAKE_INSTALL_PREFIX}/include\""
) )
...@@ -53,6 +57,10 @@ if(NGRAPH_GPU_ENABLE) ...@@ -53,6 +57,10 @@ if(NGRAPH_GPU_ENABLE)
list(APPEND HEADER_SEARCH_DEFINES "CUDNN_HEADER_PATHS=\"${CUDNN_INCLUDE_DIRS}\"") list(APPEND HEADER_SEARCH_DEFINES "CUDNN_HEADER_PATHS=\"${CUDNN_INCLUDE_DIRS}\"")
endif() endif()
if(NGRAPH_TBB_ENABLE)
list(APPEND HEADER_SEARCH_DEFINES "TBB_HEADERS_PATH=\"${TBB_ROOT}/include\"")
endif()
set_source_files_properties(compiler.cpp PROPERTIES COMPILE_DEFINITIONS "${HEADER_SEARCH_DEFINES}") set_source_files_properties(compiler.cpp PROPERTIES COMPILE_DEFINITIONS "${HEADER_SEARCH_DEFINES}")
# Generate the resource file containing all headers used by the codegen compiler # Generate the resource file containing all headers used by the codegen compiler
......
...@@ -265,6 +265,7 @@ void codegen::StaticCompiler::add_header_search_path(const string& p) ...@@ -265,6 +265,7 @@ void codegen::StaticCompiler::add_header_search_path(const string& p)
vector<string> paths = split(p, ';'); vector<string> paths = split(p, ';');
for (const string& path : paths) for (const string& path : paths)
{ {
NGRAPH_INFO << path;
if (!contains(m_extra_search_path_list, path)) if (!contains(m_extra_search_path_list, path))
{ {
m_extra_search_path_list.push_back(path); m_extra_search_path_list.push_back(path);
...@@ -363,7 +364,9 @@ void codegen::StaticCompiler::configure_search_path() ...@@ -363,7 +364,9 @@ void codegen::StaticCompiler::configure_search_path()
{ {
#ifdef USE_BUILTIN #ifdef USE_BUILTIN
load_headers_from_resource(); load_headers_from_resource();
#elif defined(__APPLE__) #endif
#if defined(__APPLE__)
add_header_search_path(EIGEN_HEADERS_PATH); add_header_search_path(EIGEN_HEADERS_PATH);
add_header_search_path(MKLDNN_HEADERS_PATH); add_header_search_path(MKLDNN_HEADERS_PATH);
add_header_search_path(TBB_HEADERS_PATH); add_header_search_path(TBB_HEADERS_PATH);
...@@ -379,37 +382,21 @@ void codegen::StaticCompiler::configure_search_path() ...@@ -379,37 +382,21 @@ void codegen::StaticCompiler::configure_search_path()
// Instead of re-implementing all of that functionality in a custom toolchain // Instead of re-implementing all of that functionality in a custom toolchain
// just hardcode the paths relevant to frequently used build/test machines for now // just hardcode the paths relevant to frequently used build/test machines for now
add_header_search_path(CLANG_BUILTIN_HEADERS_PATH); add_header_search_path(CLANG_BUILTIN_HEADERS_PATH);
string header_version = find_header_version("/usr/include/c++");
// /usr/include/c++/7
add_header_search_path("/usr/include/c++/" + header_version);
// /usr/include/x86_64-linux-gnu/c++/7
add_header_search_path("/usr/include/x86_64-linux-gnu/c++/" + header_version);
add_header_search_path("/usr/lib/gcc/x86_64-linux-gnu/" + header_version + "/include");
add_header_search_path("/usr/local/include");
add_header_search_path("/usr/lib/gcc/x86_64-linux-gnu/" + header_version + "/include-fixed");
add_header_search_path("/usr/include/x86_64-linux-gnu"); add_header_search_path("/usr/include/x86_64-linux-gnu");
add_header_search_path("/usr/include"); add_header_search_path("/usr/include");
// Search for headers in
// /usr/include/x86_64-linux-gnu/c++/N.N
// /usr/include/c++/N.N
// and add them to the header search path
file_util::iterate_files("/usr/include/x86_64-linux-gnu/c++/",
[&](const std::string& file, bool is_dir) {
if (is_dir)
{
string dir_name = file_util::get_file_name(file);
if (is_version_number(dir_name))
{
add_header_search_path(file);
}
}
});
file_util::iterate_files("/usr/include/c++/", [&](const std::string& file, bool is_dir) {
if (is_dir)
{
string dir_name = file_util::get_file_name(file);
if (is_version_number(dir_name))
{
add_header_search_path(file);
}
}
});
add_header_search_path(EIGEN_HEADERS_PATH); add_header_search_path(EIGEN_HEADERS_PATH);
add_header_search_path(MKLDNN_HEADERS_PATH); add_header_search_path(MKLDNN_HEADERS_PATH);
add_header_search_path(TBB_HEADERS_PATH); add_header_search_path(TBB_HEADERS_PATH);
...@@ -434,14 +421,14 @@ void codegen::StaticCompiler::configure_search_path() ...@@ -434,14 +421,14 @@ void codegen::StaticCompiler::configure_search_path()
void codegen::StaticCompiler::load_headers_from_resource() void codegen::StaticCompiler::load_headers_from_resource()
{ {
const string builtin_root = "/$builtin"; const string builtin_root = "";
HeaderSearchOptions& hso = m_compiler->getInvocation().getHeaderSearchOpts(); HeaderSearchOptions& hso = m_compiler->getInvocation().getHeaderSearchOpts();
PreprocessorOptions& preprocessor_options = m_compiler->getInvocation().getPreprocessorOpts(); PreprocessorOptions& preprocessor_options = m_compiler->getInvocation().getPreprocessorOpts();
for (const string& search_path : builtin_search_paths) // for (const string& search_path : builtin_search_paths)
{ // {
string builtin = builtin_root + search_path; // string builtin = builtin_root + search_path;
hso.AddPath(builtin, clang::frontend::System, false, false); // hso.AddPath(builtin, clang::frontend::System, false, false);
} // }
for (const pair<string, string>& header_info : builtin_headers) for (const pair<string, string>& header_info : builtin_headers)
{ {
string absolute_path = header_info.first; string absolute_path = header_info.first;
...@@ -456,3 +443,26 @@ void codegen::StaticCompiler::set_precompiled_header_source(const std::string& s ...@@ -456,3 +443,26 @@ void codegen::StaticCompiler::set_precompiled_header_source(const std::string& s
{ {
m_precomiled_header_source = source; m_precomiled_header_source = source;
} }
string codegen::StaticCompiler::find_header_version(const string& path)
{
vector<string> directories;
string rc;
auto f = [&](const std::string& file, bool is_dir) {
if (is_dir)
{
directories.push_back(file);
}
};
file_util::iterate_files(path, f);
for (const string& dir : directories)
{
string dir_name = file_util::get_file_name(dir);
if (is_version_number(dir_name))
{
rc = dir_name;
break;
}
}
return rc;
}
...@@ -95,6 +95,7 @@ private: ...@@ -95,6 +95,7 @@ private:
std::string m_precomiled_header_source; std::string m_precomiled_header_source;
bool is_version_number(const std::string& path); bool is_version_number(const std::string& path);
std::string find_header_version(const std::string& path);
void configure_search_path(); void configure_search_path();
void load_headers_from_resource(); void load_headers_from_resource();
}; };
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*******************************************************************************/ *******************************************************************************/
#include <memory> #include <memory>
#include <numeric>
#include <set> #include <set>
#include "algebraic_simplification.hpp" #include "algebraic_simplification.hpp"
......
...@@ -94,18 +94,18 @@ int main(int argc, char** argv) ...@@ -94,18 +94,18 @@ int main(int argc, char** argv)
#endif #endif
include_paths.push_back({NGRAPH_HEADERS_PATH, {}, true}); include_paths.push_back({NGRAPH_HEADERS_PATH, {}, true});
include_paths.push_back({CLANG_BUILTIN_HEADERS_PATH, {}, true}); include_paths.push_back({CLANG_BUILTIN_HEADERS_PATH, {}, true});
include_paths.push_back({"/Library/Developer/CommandLineTools/usr/include/c++/v1", {}}); // include_paths.push_back({"/Library/Developer/CommandLineTools/usr/include/c++/v1", {}});
#else // __APPLE__ #else // __APPLE__
string cpp0 = find_path("/usr/include/x86_64-linux-gnu/c++/");
string cpp1 = find_path("/usr/include/c++/");
include_paths.push_back({CLANG_BUILTIN_HEADERS_PATH, {}, true}); include_paths.push_back({CLANG_BUILTIN_HEADERS_PATH, {}, true});
include_paths.push_back({"/usr/include/x86_64-linux-gnu", {"asm", "sys", "bits", "gnu"}}); // string cpp0 = find_path("/usr/include/x86_64-linux-gnu/c++/");
include_paths.push_back( // string cpp1 = find_path("/usr/include/c++/");
{"/usr/include", {"asm", "sys", "bits", "gnu", "linux", "asm-generic"}});
include_paths.push_back({cpp0, {"bits"}}); // include_paths.push_back({"/usr/include/x86_64-linux-gnu", {"asm", "sys", "bits", "gnu"}});
include_paths.push_back({"/usr/include/c++/4.8.2/x86_64-redhat-linux", {"bits"}}); // include_paths.push_back(
include_paths.push_back({cpp1, {"bits", "ext", "debug", "backward"}}); // {"/usr/include", {"asm", "sys", "bits", "gnu", "linux", "asm-generic"}});
// include_paths.push_back({cpp0, {"bits"}});
// include_paths.push_back({"/usr/include/c++/4.8.2/x86_64-redhat-linux", {"bits"}});
// include_paths.push_back({cpp1, {"bits", "ext", "debug", "backward"}});
include_paths.push_back({EIGEN_HEADERS_PATH, {}, true}); include_paths.push_back({EIGEN_HEADERS_PATH, {}, true});
include_paths.push_back({MKLDNN_HEADERS_PATH, {}, true}); include_paths.push_back({MKLDNN_HEADERS_PATH, {}, true});
include_paths.push_back({NGRAPH_HEADERS_PATH, {}, true}); include_paths.push_back({NGRAPH_HEADERS_PATH, {}, true});
......
...@@ -14,29 +14,25 @@ ...@@ -14,29 +14,25 @@
# limitations under the License. # limitations under the License.
# ****************************************************************************** # ******************************************************************************
if (NGRAPH_CPU_ENABLE) set (SRC
set (SRC nbench.cpp
nbench.cpp ${PROJECT_SOURCE_DIR}/test/util/benchmark.cpp
${PROJECT_SOURCE_DIR}/test/util/benchmark.cpp )
)
add_executable(nbench ${SRC})
add_dependencies(nbench ngraph cpu_backend)
set(HEADER_SEARCH_DEFINES add_executable(nbench ${SRC})
"NGRAPH_HEADERS_PATH=\"${NGRAPH_INCLUDE_PATH}\"" add_dependencies(nbench ngraph)
)
target_link_libraries(nbench ngraph cpu_backend) target_link_libraries(nbench ngraph)
if (NGRAPH_GPU_ENABLE) if (NGRAPH_CPU_ENABLE)
target_link_libraries(nbench gpu_backend) target_link_libraries(nbench cpu_backend)
endif() endif()
if (NGRAPH_INTERPRETER_ENABLE) if (NGRAPH_GPU_ENABLE)
target_link_libraries(nbench interpreter_backend) target_link_libraries(nbench gpu_backend)
endif() endif()
if (NGRAPH_INTERPRETER_ENABLE)
target_link_libraries(nbench interpreter_backend)
endif()
include_directories("${PROJECT_SOURCE_DIR}/test") include_directories("${PROJECT_SOURCE_DIR}/test")
set_source_files_properties(nbench.cpp PROPERTIES COMPILE_DEFINITIONS "${HEADER_SEARCH_DEFINES}") install(TARGETS nbench RUNTIME DESTINATION ${NGRAPH_INSTALL_BIN})
install(TARGETS nbench RUNTIME DESTINATION ${NGRAPH_INSTALL_BIN})
endif()
...@@ -139,8 +139,8 @@ add_custom_target(style-check ...@@ -139,8 +139,8 @@ add_custom_target(style-check
) )
add_custom_target(unit-test-check add_custom_target(unit-test-check
COMMAND ${PROJECT_BINARY_DIR}/test/unit-test \${ARGS} COMMAND ${PROJECT_BINARY_DIR}/test/unit-test \${ARGS}
DEPENDS unit-test DEPENDS unit-test
) )
add_custom_target(check add_custom_target(check
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment