-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
61 lines (45 loc) · 1.52 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
cmake_minimum_required(VERSION 3.1.0)
project(WikiWalker)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules")
option(WW_WITH_CODECOV "also build code coverage" OFF)
if(WW_WITH_CODECOV)
include(CodeCoverage)
append_coverage_compiler_flags()
setup_target_for_coverage(
NAME testrunner_coverage
EXECUTABLE execute_tests
DEPENDENCIES execute_tests
)
endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
option(WW_WITH_TESTS "also build tests" OFF)
enable_testing()
# Projects
add_subdirectory(${CMAKE_SOURCE_DIR}/lib)
add_subdirectory(${CMAKE_SOURCE_DIR}/src)
add_subdirectory(${CMAKE_SOURCE_DIR}/util)
if(WW_WITH_TESTS)
add_subdirectory(${CMAKE_SOURCE_DIR}/test)
endif() #WW_WITH_TESTS
add_subdirectory(doc)
file(GLOB formatsources inc/*.h src/*.cpp test/*.cpp)
file(GLOB checksources src/*.cpp )
add_custom_target(
clang-format-source
COMMAND clang-format -i ${formatsources}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
add_custom_target(
clang-check-source
COMMAND echo "clang-check..."
COMMAND clang-check -analyze -p ${CMAKE_BINARY_DIR} ${checksources}
COMMAND echo "clang-tidy..."
COMMAND clang-tidy -p ${CMAKE_BINARY_DIR} ${checksources}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)