Merge pull request #2361 from alekcac:ios_camera_changes
[profile/ivi/opencv.git] / modules / core / CMakeLists.txt
1 set(the_description "The Core Functionality")
2
3 if (NOT HAVE_CUDA OR ENABLE_DYNAMIC_CUDA)
4   ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES})
5 else()
6   ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
7 endif()
8
9 ocv_module_include_directories("${OpenCV_SOURCE_DIR}/modules/dynamicuda/include/" ${ZLIB_INCLUDE_DIR})
10
11 if(HAVE_WINRT_CX)
12     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /ZW")
13 endif()
14 if(HAVE_WINRT)
15     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GS /Gm- /AI\"${WINDOWS_SDK_PATH}/References/CommonConfiguration/Neutral\" /AI\"${VISUAL_STUDIO_PATH}/vcpackages\"")
16 endif()
17
18 if(ENABLE_DYNAMIC_CUDA)
19   add_definitions(-DDYNAMIC_CUDA_SUPPORT)
20 else()
21   if (HAVE_CUDA)
22     add_definitions(-DUSE_CUDA)
23   endif()
24 endif()
25
26 if(HAVE_CUDA)
27   ocv_include_directories("${OpenCV_SOURCE_DIR}/modules/gpu/include")
28   ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wshadow)
29 endif()
30
31 file(GLOB lib_cuda_hdrs        "include/opencv2/${name}/cuda/*.hpp"        "include/opencv2/${name}/cuda/*.h")
32 file(GLOB lib_cuda_hdrs_detail "include/opencv2/${name}/cuda/detail/*.hpp" "include/opencv2/${name}/cuda/detail/*.h")
33
34 if(HAVE_CUDA AND NOT ENABLE_DYNAMIC_CUDA)
35   file(GLOB lib_cuda           "../dynamicuda/src/cuda/*.cu*")
36   ocv_include_directories(${CUDA_INCLUDE_DIRS})
37   ocv_cuda_compile(cuda_objs ${lib_cuda})
38 endif()
39
40 source_group("Cuda Headers"         FILES ${lib_cuda_hdrs})
41 source_group("Cuda Headers\\Detail" FILES ${lib_cuda_hdrs_detail})
42
43 if (HAVE_CUDA AND NOT ENABLE_DYNAMIC_CUDA)
44   source_group("Src\\Cuda"      FILES ${lib_cuda} ${lib_cuda_hdrs})
45 endif()
46
47 if (NOT HAVE_CUDA OR ENABLE_DYNAMIC_CUDA)
48   ocv_glob_module_sources(SOURCES "${opencv_core_BINARY_DIR}/version_string.inc"
49                           HEADERS ${lib_cuda_hdrs} ${lib_cuda_hdrs_detail})
50 else()
51   ocv_glob_module_sources(SOURCES "${opencv_core_BINARY_DIR}/version_string.inc" ${lib_cuda} ${cuda_objs}
52                           HEADERS ${lib_cuda_hdrs} ${lib_cuda_hdrs_detail})
53 endif()
54
55 ocv_create_module()
56 ocv_add_precompiled_headers(${the_module})
57
58 ocv_add_accuracy_tests()
59 ocv_add_perf_tests()