-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
50 lines (36 loc) · 1.32 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
cmake_minimum_required(VERSION 3.5.1)
project(exe)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_CXX_EXTENSIONS OFF)
# Opencv
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
# Dlib
find_package(dlib REQUIRED)
set(CMAKE_CXX_FLAGS_DEBUG "-g")
set(SOURCES_PATH "src/eyeblinking" CACHE STRING "SOURCES folder")
include_directories(${SOURCES_PATH})
file(GLOB_RECURSE APP_SOURCES "${SOURCES_PATH}/*.hpp" "${SOURCES_PATH}/*.cpp")
file(GLOB_RECURSE EYEBLINKING_HEADERS "${SOURCES_PATH}/*.hpp" "${SOURCES_PATH}/*.h")
add_library(eyeblinking_cpp ${APP_SOURCES})
target_link_libraries(eyeblinking_cpp ${OpenCV_LIBS} dlib::dlib)
add_executable(exe "src/main.cpp")
target_link_libraries(exe eyeblinking_cpp ${OpenCV_LIBS} dlib::dlib)
include(GoogleTest)
enable_testing()
find_package(GTest REQUIRED)
file(COPY "models" DESTINATION ".")
file(COPY "tests/testData" DESTINATION ".")
set(TESTS_PATH "tests" CACHE STRING "TESTS folder")
include_directories(${TESTS_PATH})
file(GLOB_RECURSE APP_TESTS "${TESTS_PATH}/*.hpp" "${TESTS_PATH}/*.cpp")
add_executable(test_exe ${APP_TESTS})
target_link_libraries(test_exe eyeblinking_cpp GTest::gmock)
target_sources(test_exe
PUBLIC FILE_SET headers
TYPE HEADERS
BASE_DIRS "src" FILES
${EYEBLINKING_HEADERS}
)
gtest_discover_tests(test_exe)