-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
29 lines (22 loc) · 860 Bytes
/
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
cmake_minimum_required(VERSION 3.3)
project(ConceptsLighter LANGUAGES CXX)
# Option(s)
option(ENABLE_EXAMPLES "Build simple examples" On)
# Header-only library
add_library(concepts-lighter INTERFACE)
target_include_directories(concepts-lighter INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include/>
)
# Installation
install(TARGETS concepts-lighter EXPORT ConceptsLighterConfig INCLUDES DESTINATION include)
install(EXPORT ConceptsLighterConfig DESTINATION lib/cmake/concepts-lighter)
install(DIRECTORY include/ DESTINATION include FILES_MATCHING PATTERN *.hpp)
# Example
if(ENABLE_EXAMPLES)
add_executable(example example.cpp)
set_property(TARGET example PROPERTY CXX_STANDARD 11)
target_link_libraries(example concepts-lighter)
enable_testing()
add_test(NAME test_example COMMAND example)
endif()