-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
38 lines (32 loc) · 1 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
cmake_minimum_required(VERSION 3.21)
project(Signal
DESCRIPTION
"A header-only Signals and Slots library"
LANGUAGES
CXX
)
set(SIGNAL_HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/src/mw/signal.h
)
add_library(Signal INTERFACE)
add_library(Signal::Signal ALIAS Signal)
option(CODE_COVERAGE "Enable coverage reporting" OFF)
if (CODE_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
target_compile_options(Signal INTERFACE --coverage)
target_link_options(Signal INTERFACE --coverage)
endif ()
target_include_directories(Signal
INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>"
)
target_compile_features(Signal INTERFACE cxx_std_20)
message(STATUS "Signal_Test is available to add: -DSignal_Test=1")
option(Signal_Test "Signal_Test project is added" OFF)
if (Signal_Test)
add_subdirectory(Signal_Test)
endif ()
message(STATUS "Signal_Example is available to add: -DSignal_Example=1")
option(Signal_Example "Add Signal_Example project." OFF)
if (Signal_Example)
add_subdirectory(Signal_Example)
endif ()