alecAbstraction Layer for Escape Codes |
git clone git://git.dimitrijedobrota.com/alec.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
CMakeLists.txt (1299B)
0 cmake_minimum_required(VERSION 3.14)
2 include(cmake/prelude.cmake)
4 project(
5 alec
6 VERSION 0.2.0
7 DESCRIPTION "Abstraction Layer for Escape Codes"
8 HOMEPAGE_URL "git://git.dimitrijedobrota.com/alec.git"
9 LANGUAGES CXX
10 )
12 include(cmake/project-is-top-level.cmake)
13 include(cmake/variables.cmake)
15 # ---- Declare library ----
17 add_library(alec_alec INTERFACE)
18 add_library(alec::alec ALIAS alec_alec)
20 find_package(based 0.1.2 CONFIG REQUIRED)
21 target_link_libraries(alec_alec INTERFACE based::based)
23 set_property(
24 TARGET alec_alec PROPERTY
25 EXPORT_NAME alec
26 )
28 target_include_directories(
29 alec_alec ${warning_guard}
30 INTERFACE
31 "\$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
32 )
34 target_compile_features(alec_alec INTERFACE cxx_std_20)
36 # ---- Install rules ----
38 if(NOT CMAKE_SKIP_INSTALL_RULES)
39 include(cmake/install-rules.cmake)
40 endif()
42 # ---- Examples ----
44 if(PROJECT_IS_TOP_LEVEL)
45 option(BUILD_EXAMPLES "Build examples tree." "${alec_DEVELOPER_MODE}")
46 if(BUILD_EXAMPLES)
47 add_subdirectory(example)
48 endif()
49 endif()
51 # ---- Developer mode ----
53 if(NOT alec_DEVELOPER_MODE)
54 return()
55 elseif(NOT PROJECT_IS_TOP_LEVEL)
56 message(
57 AUTHOR_WARNING
58 "Developer mode is intended for developers of alec"
59 )
60 endif()
62 include(cmake/dev-mode.cmake)