diff --git a/.gitignore b/.gitignore index 1a54ff15872b407e5553633e46c6055b775c10dc..7574bf03a1675b186d231cfcfb4b6f59e0f9dc0f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ */build -*/node_modules +**/node_modules **/include/ftl/config.h **/src/config.cpp **/*.blend1 diff --git a/CMakeLists.txt b/CMakeLists.txt index eca831d0646f2e6414916a0b7e4c4930cfc68ce5..1a2f84925ca4c28ac81c7d4d3c8b2e28103512d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,14 +19,20 @@ find_package( URIParser REQUIRED ) find_package( MsgPack REQUIRED ) find_package( LibSGM ) +# Why is this problematic on some machines? check_language(CUDA) if (CUDA_TOOLKIT_ROOT_DIR) enable_language(CUDA) set(CMAKE_CUDA_FLAGS "") set(CMAKE_CUDA_FLAGS_DEBUG "-g -DDEBUG -D_DEBUG -Wall") set(CMAKE_CUDA_FLAGS_RELEASE "") -add_definitions(-DHAVE_CUDA) +set(HAVE_CUDA TRUE) include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) + +set_property(TARGET Threads::Threads + PROPERTY INTERFACE_COMPILE_OPTIONS $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler -pthread> + "$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-pthread>") + endif () if (NOT MsgPack_FOUND) diff --git a/common/cpp/include/ftl/config.h.in b/common/cpp/include/ftl/config.h.in index d3e2166031f7e7072f905701f98a3d4a4d90d38b..b03e4eeeff946c3e8c282500dd4717fa11fd3539 100644 --- a/common/cpp/include/ftl/config.h.in +++ b/common/cpp/include/ftl/config.h.in @@ -4,6 +4,7 @@ #cmakedefine HAVE_VIZ #cmakedefine HAVE_OPENCVCUDA #cmakedefine HAVE_URIPARSESINGLE +#cmakedefine HAVE_CUDA extern const char *FTL_VERSION_LONG; extern const char *FTL_VERSION; diff --git a/cv-node/CMakeLists.txt b/cv-node/CMakeLists.txt index 5f5457c82ba1b8cb7ea89f2eaed3e96c9478b82d..8a77cce2b78b2466d63f05c7345f93d2446284df 100644 --- a/cv-node/CMakeLists.txt +++ b/cv-node/CMakeLists.txt @@ -43,14 +43,10 @@ add_executable(cv-node ${CVNODESRC}) add_dependencies(cv-node net) if (CUDA_FOUND) -set_property(TARGET Threads::Threads - PROPERTY INTERFACE_COMPILE_OPTIONS $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler -pthread> - "$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-pthread>") - set_property(TARGET cv-node PROPERTY CUDA_SEPARABLE_COMPILATION ON) -endif (CUDA_FOUND) +endif() -target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include) -target_link_libraries(cv-node Threads::Threads ${OpenCV_LIBS} ${LIBSGM_LIBRARIES} ${CUDA_LIBRARIES} ${GLOG_LIBRARIES}) +#target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include) +target_link_libraries(cv-node net Threads::Threads ${OpenCV_LIBS} ${LIBSGM_LIBRARIES} ${CUDA_LIBRARIES} ${GLOG_LIBRARIES}) diff --git a/cv-node/include/ftl/cuda_common.hpp b/cv-node/include/ftl/cuda_common.hpp index 1adeed475a5b2df72493f602c7ad4128790c73be..741f857cc6e5536fb95bd815b0fc6fda2737cb90 100644 --- a/cv-node/include/ftl/cuda_common.hpp +++ b/cv-node/include/ftl/cuda_common.hpp @@ -1,6 +1,8 @@ #ifndef _FTL_CUDA_COMMON_HPP_ #define _FTL_CUDA_COMMON_HPP_ +#include <ftl/config.h> + #if defined HAVE_CUDA #include <opencv2/core/cuda.hpp>