gigaTerminal text editor |
git clone git://git.dimitrijedobrota.com/giga.git |
Log | Files | Refs | README | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
CMakeLists.txt (1331B)
0 cmake_minimum_required(VERSION 3.14)
2 include(cmake/prelude.cmake)
4 project(
5 giga
6 VERSION 0.1.12
7 DESCRIPTION "Terminal text editor"
8 HOMEPAGE_URL "https://git.dimitrijedobrota.com/giga.git"
9 LANGUAGES CXX
10 )
12 include(cmake/project-is-top-level.cmake)
13 include(cmake/variables.cmake)
15 find_package(display 0.3 CONFIG REQUIRED)
16 find_package(alec 0.1.13 CONFIG REQUIRED)
18 # ---- Declare library ----
20 add_library(
21 giga_lib OBJECT
22 source/layout_dynamic.cpp
23 )
25 target_include_directories(
26 giga_lib ${warning_guard}
27 PUBLIC
28 "\$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/source>"
29 )
31 target_compile_features(giga_lib PUBLIC cxx_std_20)
32 target_link_libraries(giga_lib PUBLIC display::display)
34 # ---- Declare executable ----
36 add_executable(giga_exe source/main.cpp)
37 add_executable(giga::exe ALIAS giga_exe)
39 set_property(TARGET giga_exe PROPERTY OUTPUT_NAME giga)
41 target_compile_features(giga_exe PRIVATE cxx_std_20)
43 target_link_libraries(giga_exe PRIVATE giga_lib)
45 # ---- Install rules ----
47 if(NOT CMAKE_SKIP_INSTALL_RULES)
48 include(cmake/install-rules.cmake)
49 endif()
51 # ---- Developer mode ----
53 if(NOT giga_DEVELOPER_MODE)
54 return()
55 elseif(NOT PROJECT_IS_TOP_LEVEL)
56 message(
57 AUTHOR_WARNING
58 "Developer mode is intended for developers of giga"
59 )
60 endif()
62 include(cmake/dev-mode.cmake)