-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
90 lines (67 loc) · 2.46 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
cmake_minimum_required(VERSION 3.13.4)
# Project's name
project(wxWidgets_DuplicateImg)
set(OpenCV_STATIC ON)
# Requires OpenCV
FIND_PACKAGE(OpenCV 4.0.0 REQUIRED)
# Show a message with the opencv version detected
MESSAGE("OpenCV version : ${OpenCV_VERSION}")
find_package (Threads)
###################################
###################################
###################################
# Location where cmake first looks for cmake modules.
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}")
##---------------------------------------------------
## Please set your wxWidgets configuration here
##---------------------------------------------------
# Here you can define what libraries of wxWidgets you need for your
# application. You can figure out what libraries you need here;
# https://www.wxwidgets.org/manuals/2.8/wx_librarieslist.html
# We need the Find package for wxWidgets to work
# NOTE: if you're using aui, include aui in this required components list.
# It was noticed that when using MinGW gcc it is essential that 'core' is mentioned before 'base'.
find_package(wxWidgets COMPONENTS core base REQUIRED)
##---------------------------------------------------
## Actual config file starts here
##---------------------------------------------------
# wxWidgets include (this will do all the magic to configure everything)
include( "${wxWidgets_USE_FILE}" )
###################################
###################################
###################################
set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(release 0)
if(release)
add_definitions(-DNDEBUG)
endif()
set(SOURCES
src/main.cpp
src/duplicate_img_gui.cpp
src/wx_imagew.cpp
src/wx_stacked_image.cpp
src/scroller.cpp
src/opencv_utilities.cpp
src/histogram_loader.cpp
src/worker.cpp
src/scheduler.cpp
src/data_logger.cpp
src/file_manager.cpp
src/picture_viewer.cpp
src/wx_worker.cpp
src/progress_bar.cpp
src/notification_module.cpp
)
add_executable(wxDuplicateImgFinder ${SOURCES})
# link required libs
target_link_libraries(wxDuplicateImgFinder ${wxWidgets_LIBRARIES})
target_link_libraries(wxDuplicateImgFinder ${OpenCV_LIBS})
target_link_libraries(wxDuplicateImgFinder ${CMAKE_THREAD_LIBS_INIT} )
target_link_libraries(wxDuplicateImgFinder stdc++fs )
# install resources
add_subdirectory(resources)