This repository was archived by the owner on Apr 19, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
102 lines (93 loc) · 3.25 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR)
set(PROJECT_NAME ComparerPlayground)
project(${PROJECT_NAME} VERSION 1.0 LANGUAGES CXX)
if(MSVC)
add_compile_definitions(
_USE_MATH_DEFINES
_CRT_SECURE_NO_DEPRECATE
_CRT_SECURE_NO_WARNINGS
NOMINMAX)
add_compile_options(/GF /Zc:wchar_t /W4)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd /Z7")
endif()
include(FetchContent)
set(BUILD_opencv_videoio OFF)
set(BUILD_opencv_flann OFF)
set(BUILD_ZLIB OFF)
set(BUILD_opencv_js_bindings_generator OFF)
set(WITH_PROTOBUF OFF)
set(BUILD_opencv_java_bindings_generator OFF)
set(BUILD_opencv_dnn OFF)
set(BUILD_opencv_ml ON)
set(BUILD_opencv_apps OFF)
set(BUILD_opencv_features2d ON)
set(BUILD_opencv_objc_bindings_generator OFF)
set(BUILD_opencv_objdetect OFF)
set(BUILD_ITT OFF)
set(BUILD_opencv_python_bindings_generator OFF)
set(BUILD_opencv_photo OFF)
set(BUILD_JAVA OFF)
set(BUILD_JASPER OFF)
set(WITH_OPENEXR OFF)
set(WITH_OPENCLAMDFFT OFF)
set(WITH_OPENCLAMDBLAS OFF)
set(BUILD_opencv_python_tests OFF)
set(BUILD_PERF_TESTS OFF)
set(BUILD_JPEG OFF)
set(BUILD_SHARED_LIBS OFF)
set(BUILD_opencv_stitching OFF)
set(BUILD_PNG ON)
set(BUILD_opencv_imgcodecs ON)
set(BUILD_opencv_video OFF)
set(BUILD_opencv_calib3d OFF)
set(BUILD_TIFF OFF)
set(BUILD_TESTS OFF)
set(BUILD_opencv_gapi OFF)
set(BUILD_OPENJPEG ON)
set(WITH_OPENCL OFF)
set(BUILD_opencv_ts OFF)
set(BUILD_PACKAGE OFF)
set(BUILD_WEBP ON)
set(ENABLE_LIBJPEG_TURBO_SIMD OFF)
set(OPENCV_ENABLE_NONFREE ON)
FetchContent_Declare(
argparse
GIT_REPOSITORY https://github.com/p-ranav/argparse.git
GIT_TAG v2.9
)
FetchContent_Declare(
opencv
GIT_REPOSITORY https://github.com/opencv/opencv.git
GIT_TAG 4.7.0
)
FetchContent_MakeAvailable(argparse opencv)
set(Source_Files
"sources/main.cpp"
"sources/Utils.cpp"
"sources/DifferencesFinder.cpp"
"sources/BlobDetect.cpp"
"sources/CPSImageComparator.cpp"
"sources/demoalgorithms/SSIMImageComparator.cpp"
"sources/demoalgorithms/MSEImageComparator.cpp"
"sources/demoalgorithms/PSNRImageComparator.cpp"
"sources/demoalgorithms/HistogramImageComparator.cpp"
"sources/demoalgorithms/PixelWiseImageComparator.cpp"
"sources/demoalgorithms/CVBlobsImageComparator.cpp"
"sources/demoalgorithms/WhiteLineImageComparator.cpp"
"sources/demoalgorithms/SVMImageComparator.cpp"
"sources/PoliMiImageComparator.cpp"
)
source_group("Source Files" FILES ${Source_Files})
add_executable(${PROJECT_NAME} ${Source_Files})
target_link_libraries(${PROJECT_NAME} PRIVATE argparse opencv_core opencv_imgcodecs opencv_highgui opencv_imgproc opencv_features2d opencv_ml)
target_include_directories(${PROJECT_NAME} PRIVATE "include")
target_include_directories(${PROJECT_NAME} PRIVATE
${OPENCV_CONFIG_FILE_INCLUDE_DIR}
${OPENCV_MODULE_opencv_core_LOCATION}/include
${OPENCV_MODULE_opencv_imgcodecs_LOCATION}/include
${OPENCV_MODULE_opencv_highgui_LOCATION}/include
${OPENCV_MODULE_opencv_imgproc_LOCATION}/include
${OPENCV_MODULE_opencv_features2d_LOCATION}/include
${OPENCV_MODULE_opencv_ml_LOCATION}/include
)