-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
108 lines (94 loc) · 3.25 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
cmake_minimum_required(VERSION 3.10)
project(GENTXTSRCCODE)
# Set CTest output color to Always
set(CTEST_OUTPUT_COLOR Always)
# Set CPP Standard
set(CMAKE_CXX_STANDARD 17)
#setup Testing
set(CMAKE_CXX_FLAGS "--coverage -g -O0")
set(CMAKE_EXE_LINKER_FLAGS "--coverage -g -O0")
set(CTEST_USE_LAUNCHERS OFF)
ENABLE_TESTING()
# Set the character encoding to UTF-8
set(CMAKE_CXX_FLAGS "-D_FILE_OFFSET_BITS=64 -D__STDC_FORMAT_MACROS -Wall -Wextra")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -finput-charset=UTF-8 -fexec-charset=UTF-8")
# includes
include_directories("./include" "./src")
# Include Boost headers
include_directories(${Boost_INCLUDE_DIRS})
# Program Executables
set(SOURCES
"./src/GenTxtSrcCode.cpp"
"./lib/ProjectPathFinder.cpp"
"./lib/Logger.cpp"
"./lib/CTextToCPP.cpp"
"./lib/CTextToEscSeq.cpp"
"./lib/CTextToHexSeq.cpp"
"./lib/CTextToOctSeq.cpp"
"./lib/CTextToRawHexSeq.cpp"
"./lib/Extractor.cpp"
"./lib/Parameter.cpp"
"./lib/Helperfunctions.cpp"
"./lib/ConsoleColors.cpp"
)
add_executable(GenTxtSrcCode ${SOURCES})
# Find Boost libraries
find_package(Boost REQUIRED COMPONENTS log log_setup thread system filesystem unit_test_framework)
# Link Boost libraries
target_link_libraries(GenTxtSrcCode
${Boost_LIBRARIES}
Boost::log
Boost::log_setup
Boost::thread
Boost::system
Boost::filesystem
)
#Add Tests
add_executable(TESTProjectPath ./tests/TESTProjectPathFinder.cpp ./lib/ProjectPathFinder.cpp)
target_link_libraries(TESTProjectPath
${Boost_LIBRARIES}
Boost::unit_test_framework
Boost::filesystem
)
add_test(NAME TESTProjectPath COMMAND TESTProjectPath)
add_executable(TESTExtractor ./tests/TESTExtractor.cpp ./lib/Extractor.cpp)
target_link_libraries(TESTExtractor
${Boost_LIBRARIES}
Boost::unit_test_framework
)
add_test(NAME TESTExtractor COMMAND TESTExtractor)
add_executable(TestParameter ./tests/TESTParameter.cpp ./lib/Parameter.cpp)
target_link_libraries(TestParameter
${Boost_LIBRARIES}
Boost::unit_test_framework
)
add_test(NAME TestParameter COMMAND TestParameter)
add_executable(TestConsoleColors ./tests/TESTConsoleColors.cpp ./lib/ConsoleColors.cpp)
target_link_libraries(TestConsoleColors
${Boost_LIBRARIES}
Boost::unit_test_framework
)
add_test(NAME TESTConsoleColors COMMAND TESTConsoleColors)
add_executable(TESTGenTxtSrcCode ./tests/TESTGenTxtSrcCode.cpp ${SOURCES} ./src/GenTxtSrcCode.cpp)
target_link_libraries(TESTGenTxtSrcCode
${Boost_LIBRARIES}
Boost::unit_test_framework
Boost::log
Boost::log_setup
Boost::thread
Boost::system
Boost::filesystem
)
add_test(NAME TESTGenTxtSrcCode COMMAND TESTGenTxtSrcCode)
add_executable(TESTCTextToEscSeq ./tests/TESTCTextToEscSeq.cpp ${SOURCES} ./lib/CTextToEscSeq.cpp)
target_link_libraries(TESTCTextToEscSeq
${Boost_LIBRARIES}
Boost::unit_test_framework
)
add_test(NAME TESTCTextToEscSeq COMMAND TESTCTextToEscSeq)
add_executable(TESTHelperfunctions ./tests/TESTHelperfunctions.cpp ./lib/Helperfunctions.cpp)
target_link_libraries(TESTHelperfunctions
${Boost_LIBRARIES}
Boost::unit_test_framework
)
add_test(NAME TESTHelperfunctions COMMAND TESTHelperfunctions)