diff --git a/modules/cudev/CMakeLists.txt b/modules/cudev/CMakeLists.txt index 6a2e0380bcaf0c990636791d524070809e74918a..3c7b0592c780e58141b119abf55b8475ce69a555 100644 --- a/modules/cudev/CMakeLists.txt +++ b/modules/cudev/CMakeLists.txt @@ -8,28 +8,14 @@ ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4189 /wd4505 -Wundef -Wmissing-declarati ocv_add_module(cudev) -file(GLOB_RECURSE lib_hdrs "include/opencv2/*.hpp") - -add_custom_target(${the_module} SOURCES ${lib_hdrs}) - -if(ENABLE_SOLUTION_FOLDERS) - set_target_properties(${the_module} PROPERTIES FOLDER "modules") -endif() - -foreach(var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG) - # we remove /EHa as it generates warnings under windows - string(REPLACE "/EHa" "" ${var} "${${var}}") +ocv_module_include_directories(opencv_core) - # we remove -ggdb3 flag as it leads to preprocessor errors when compiling CUDA files (CUDA 4.1) - string(REPLACE "-ggdb3" "" ${var} "${${var}}") +file(GLOB_RECURSE lib_hdrs "include/opencv2/*.hpp") +file(GLOB lib_srcs "src/*.cpp") - # we remove -Wsign-promo as it generates warnings under linux - string(REPLACE "-Wsign-promo" "" ${var} "${${var}}") +ocv_set_module_sources(HEADERS ${lib_hdrs} SOURCES ${lib_srcs}) - # we remove -fvisibility-inlines-hidden because it's used for C++ compiler - # but NVCC uses C compiler by default - string(REPLACE "-fvisibility-inlines-hidden" "" ${var} "${${var}}") -endforeach() +ocv_create_module() if(BUILD_TESTS) add_subdirectory(test) diff --git a/modules/cudev/src/stub.cpp b/modules/cudev/src/stub.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ec060adedc9e5af14bbc615d5339cd8564475584 --- /dev/null +++ b/modules/cudev/src/stub.cpp @@ -0,0 +1,11 @@ +#include + +namespace cv { namespace cudev { + +CV_EXPORTS void stubFunc(); + +}} + +void cv::cudev::stubFunc() +{ +} diff --git a/modules/cudev/test/CMakeLists.txt b/modules/cudev/test/CMakeLists.txt index e233482a50b5b93f5f32da8b7fcda22bc3d3b46c..438e0a64c0d5bcdcb9d84d125dceab639397efca 100644 --- a/modules/cudev/test/CMakeLists.txt +++ b/modules/cudev/test/CMakeLists.txt @@ -1,4 +1,4 @@ -set(test_deps opencv_core opencv_imgproc opencv_highgui opencv_ts ${OPENCV_MODULE_opencv_ts_DEPS}) +set(test_deps opencv_cudev opencv_core opencv_imgproc opencv_highgui opencv_ts ${OPENCV_MODULE_opencv_ts_DEPS}) ocv_check_dependencies(${test_deps}) @@ -13,6 +13,21 @@ if(OCV_DEPENDENCIES_FOUND) source_group("Include" FILES ${test_hdrs}) set(OPENCV_TEST_${the_module}_SOURCES ${test_srcs} ${test_hdrs}) + foreach(var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG) + # we remove /EHa as it generates warnings under windows + string(REPLACE "/EHa" "" ${var} "${${var}}") + + # we remove -ggdb3 flag as it leads to preprocessor errors when compiling CUDA files (CUDA 4.1) + string(REPLACE "-ggdb3" "" ${var} "${${var}}") + + # we remove -Wsign-promo as it generates warnings under linux + string(REPLACE "-Wsign-promo" "" ${var} "${${var}}") + + # we remove -fvisibility-inlines-hidden because it's used for C++ compiler + # but NVCC uses C compiler by default + string(REPLACE "-fvisibility-inlines-hidden" "" ${var} "${${var}}") + endforeach() + CUDA_ADD_EXECUTABLE(${the_target} ${OPENCV_TEST_${the_module}_SOURCES}) target_link_libraries(${the_target} ${test_deps} ${OPENCV_LINKER_LIBS} ${CUDA_LIBRARIES}) add_dependencies(opencv_tests ${the_target})