-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
77 lines (49 loc) · 2.92 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
###############################################################################
# CMAKE VERSION #
###############################################################################
CMAKE_MINIMUM_REQUIRED (VERSION 3.9.2)
###############################################################################
# PROJECT #
###############################################################################
PROJECT (minlog
VERSION 1.0.0
LANGUAGES CXX
DESCRIPTION "A Minimalist Logger for C++")
###############################################################################
# LIBRARY #
###############################################################################
ADD_LIBRARY (minlog INTERFACE)
###############################################################################
# HEADERS #
###############################################################################
TARGET_INCLUDE_DIRECTORIES (minlog INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
###############################################################################
# SOURCES #
###############################################################################
#TARGET_SOURCES (minlog INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/src/minlog.cpp)
###############################################################################
# DEPENDENCIES #
###############################################################################
ADD_SUBDIRECTORY (libs/buildmode)
TARGET_LINK_LIBRARIES (minlog INTERFACE buildmode)
###############################################################################
# TESTS #
###############################################################################
ADD_EXECUTABLE (main "${CMAKE_CURRENT_SOURCE_DIR}/tests/main.cpp")
TARGET_LINK_LIBRARIES (main minlog)
TARGET_COMPILE_OPTIONS (main PRIVATE -std=c++17 -Wall -Wextra -pedantic -fverbose-asm -save-temps -O2)
IF (BUILD_TESTING)
ENABLE_TESTING()
ADD_EXECUTABLE (main "${CMAKE_CURRENT_SOURCE_DIR}/tests/main.cpp")
TARGET_LINK_LIBRARIES (main minlog)
TARGET_COMPILE_OPTIONS (main PRIVATE -std=c++17 -Wall -Wextra -Werror -pedantic)
ADD_TEST (TEST main)
# ADD_EXECUTABLE (isDebug "${CMAKE_CURRENT_SOURCE_DIR}/tests/debug_mode.cpp")
# TARGET_LINK_LIBRARIES (isDebug buildmode ${COVERAGE_FLAG})
# IF (MSVC)
# TARGET_COMPILE_OPTIONS (isRelease PRIVATE /std:c++17 /DNDEBUG)
# ELSE ()
# TARGET_COMPILE_OPTIONS (isRelease PRIVATE -std=c++17 -DNDEBUG -O3 -Wall -Wextra -Werror -pedantic ${COVERAGE_FLAG})
# ENDIF ()
# ADD_TEST (constexpr_bool_isRelease isRelease)
ENDIF ()