aboutsummaryrefslogtreecommitdiff
path: root/lib/configuration/CMakeLists.txt
blob: 6484a701ad352052f53eac809e10781d11c82752 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
add_library(configuration STATIC configuration.cpp qt_specialization.cpp)
target_link_libraries(configuration PUBLIC Qt5::Widgets)
target_include_directories(configuration INTERFACE .)

add_executable(conf_parser test/main.cpp)
target_compile_definitions(conf_parser PRIVATE NO_QT_SPEC)
target_sanitize(conf_parser)
target_link_libraries(conf_parser PRIVATE configuration Catch2::Catch2)

add_executable(conf_parser_qt test/qt.cpp)
target_link_libraries(conf_parser_qt PRIVATE configuration Catch2::Catch2)

add_test(NAME conf_parser    COMMAND conf_parser
    WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/test")
add_test(NAME conf_parser_qt COMMAND conf_parser_qt -platform offscreen
    WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/test")
set_tests_properties(conf_parser    PROPERTIES ENVIRONMENT "CONFIGFILE=${CMAKE_CURRENT_SOURCE_DIR}/test/defaultrc.ini")
set_tests_properties(conf_parser_qt PROPERTIES ENVIRONMENT "CONFIGFILE=${CMAKE_CURRENT_SOURCE_DIR}/test/defaultrc.ini")

if(${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
  add_executable(conf_fuzzer configuration.cpp)
  target_compile_definitions(conf_fuzzer PRIVATE FUZZER NO_QT_SPEC)
  target_sanitize_fuzzer(conf_fuzzer)
endif()