Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/core/CMakeLists.txt
16337 views
1
set(the_description "The Core Functionality")
2
3
ocv_add_dispatched_file(mathfuncs_core SSE2 AVX AVX2)
4
ocv_add_dispatched_file(stat SSE4_2 AVX2)
5
6
# dispatching for accuracy tests
7
ocv_add_dispatched_file_force_all(test_intrin128 TEST SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX FP16 AVX2)
8
ocv_add_dispatched_file_force_all(test_intrin256 TEST AVX2)
9
10
ocv_add_module(core
11
OPTIONAL opencv_cudev
12
WRAP java python js)
13
14
set(extra_libs "")
15
16
if(WINRT AND CMAKE_SYSTEM_NAME MATCHES WindowsStore AND CMAKE_SYSTEM_VERSION MATCHES "8.0")
17
list(APPEND extra_libs ole32.lib)
18
endif()
19
20
if(HAVE_TBB)
21
list(APPEND extra_libs tbb)
22
endif()
23
24
if(DEFINED WINRT AND NOT DEFINED ENABLE_WINRT_MODE_NATIVE)
25
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /ZW")
26
endif()
27
28
if(HAVE_CUDA)
29
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wenum-compare -Wunused-function -Wshadow)
30
endif()
31
32
if(CV_TRACE AND HAVE_ITT AND BUILD_ITT)
33
add_definitions(-DOPENCV_WITH_ITT=1)
34
endif()
35
36
file(GLOB lib_cuda_hdrs
37
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/cuda/*.hpp"
38
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/cuda/*.h")
39
file(GLOB lib_cuda_hdrs_detail
40
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/cuda/detail/*.hpp"
41
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/cuda/detail/*.h")
42
file(GLOB_RECURSE module_opencl_hdrs
43
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/opencl/*")
44
45
source_group("Include\\Cuda Headers" FILES ${lib_cuda_hdrs})
46
source_group("Include\\Cuda Headers\\Detail" FILES ${lib_cuda_hdrs_detail})
47
48
source_group("Src" FILES "${OPENCV_MODULE_opencv_core_BINARY_DIR}/version_string.inc")
49
50
ocv_glob_module_sources(SOURCES "${OPENCV_MODULE_opencv_core_BINARY_DIR}/version_string.inc"
51
HEADERS ${module_opencl_hdrs} ${lib_cuda_hdrs} ${lib_cuda_hdrs_detail})
52
53
ocv_module_include_directories(${the_module} ${ZLIB_INCLUDE_DIRS} ${OPENCL_INCLUDE_DIRS})
54
if(ANDROID AND HAVE_CPUFEATURES)
55
ocv_append_source_file_compile_definitions(${CMAKE_CURRENT_SOURCE_DIR}/src/system.cpp "HAVE_CPUFEATURES=1")
56
ocv_module_include_directories(${CPUFEATURES_INCLUDE_DIRS})
57
endif()
58
if(ITT_INCLUDE_DIRS)
59
ocv_module_include_directories(${ITT_INCLUDE_DIRS})
60
endif()
61
if(HAVE_POSIX_MEMALIGN)
62
ocv_append_source_file_compile_definitions(${CMAKE_CURRENT_SOURCE_DIR}/src/alloc.cpp "HAVE_POSIX_MEMALIGN=1")
63
endif()
64
if(HAVE_MALLOC_H)
65
ocv_append_source_file_compile_definitions(${CMAKE_CURRENT_SOURCE_DIR}/src/alloc.cpp "HAVE_MALLOC_H=1")
66
endif()
67
if(HAVE_MEMALIGN)
68
ocv_append_source_file_compile_definitions(${CMAKE_CURRENT_SOURCE_DIR}/src/alloc.cpp "HAVE_MEMALIGN=1")
69
endif()
70
71
ocv_create_module(${extra_libs})
72
73
ocv_target_link_libraries(${the_module} LINK_PRIVATE
74
"${ZLIB_LIBRARIES}" "${OPENCL_LIBRARIES}" "${VA_LIBRARIES}"
75
"${LAPACK_LIBRARIES}" "${CPUFEATURES_LIBRARIES}" "${HALIDE_LIBRARIES}"
76
"${ITT_LIBRARIES}"
77
"${OPENCV_HAL_LINKER_LIBS}"
78
)
79
80
if(HAVE_HPX)
81
ocv_target_link_libraries(${the_module} LINK_PRIVATE "${HPX_LIBRARIES}")
82
endif()
83
84
ocv_add_accuracy_tests()
85
ocv_add_perf_tests()
86
87
ocv_install_3rdparty_licenses(SoftFloat "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/SoftFloat/COPYING.txt")
88
89