]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | cmake_minimum_required(VERSION 3.5.1) |
2 | ||
3 | project(dmclock CXX) | |
7c673cae | 4 | |
31f18b77 | 5 | list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules") |
7c673cae | 6 | |
11fdf7f2 TL |
7 | if (NOT(BOOST_FOUND)) |
8 | find_package(Boost REQUIRED) | |
9 | endif() | |
d2e6a577 | 10 | |
11fdf7f2 TL |
11 | find_package(Threads) |
12 | ||
eafe8130 TL |
13 | if(CMAKE_CXX_STANDARD OR CMAKE_CXX_FLAGS MATCHES "-std=(c|gnu)\\+\\+") |
14 | # use existing settings if available | |
15 | else() | |
16 | set(CMAKE_CXX_STANDARD 11) | |
17 | set(CMAKE_CXX_STANDARD_REQUIRED ON) | |
18 | endif() | |
11fdf7f2 TL |
19 | |
20 | add_subdirectory(src) | |
21 | ||
22 | # Determine if dmclock is built as a subproject (using add_subdirectory) | |
23 | # or if it is the master project. | |
24 | set(MASTER_PROJECT FALSE) | |
25 | if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) | |
26 | set(MASTER_PROJECT TRUE) | |
d2e6a577 FG |
27 | endif() |
28 | ||
11fdf7f2 TL |
29 | option(dmclock_TEST "Generate test targets" ${MASTER_PROJECT}) |
30 | if(dmclock_TEST) | |
31 | if (NOT(TARGET gtest AND TARGET gtest_main)) | |
d2e6a577 | 32 | if (NOT GTEST_FOUND) |
11fdf7f2 TL |
33 | find_package(GTest QUIET) |
34 | if (NOT GTEST_FOUND) | |
35 | include(BuildGTest) | |
36 | endif() | |
d2e6a577 | 37 | endif() |
7c673cae | 38 | endif() |
7c673cae | 39 | |
11fdf7f2 TL |
40 | enable_testing() |
41 | add_subdirectory(test) | |
42 | add_subdirectory(support/test) | |
43 | add_subdirectory(sim) | |
7c673cae | 44 | endif() |