-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
28 lines (22 loc) · 811 Bytes
/
CMakeLists.txt
File metadata and controls
28 lines (22 loc) · 811 Bytes
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
cmake_minimum_required(VERSION 3.13)
project(algorithms)
set(CMAKE_CXX_STANDARD 17)
FIND_PACKAGE(GTest QUIET)
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
INCLUDE(CommonSettings)
INCLUDE_DIRECTORIES(algo struct test)
FILE(GLOB MAIN_HEADERS algo/*.h struct/*.h)
FILE(GLOB TEST_SOURCES test/*.cpp test/*.h)
#test target
if (GTEST_FOUND)
ENABLE_TESTING()
FIND_PACKAGE(Threads REQUIRED)
SET(TEST_TARGET algorithms_test)
ADD_EXECUTABLE(${TEST_TARGET} ${TEST_SOURCES} ${MAIN_HEADERS})
TARGET_INCLUDE_DIRECTORIES(${TEST_TARGET} PUBLIC ${GTEST_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(${TEST_TARGET} ${GTEST_LIBRARIES})
GTEST_ADD_TESTS(TARGET ${TEST_TARGET})
INCLUDE(Lcov)
else (GTEST_FOUND)
MESSAGE("Gtest library was not found. Install gtest.")
endif (GTEST_FOUND)