stamdStatic Markdown Page Generator |
git clone git://git.dimitrijedobrota.com/stamd.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
CMakeLists.txt (1487B)
0 cmake_minimum_required(VERSION 3.24) 1 2 include(cmake/prelude.cmake) 3 4 project( 5 stamd 6 VERSION 0.4.0 7 DESCRIPTION "Static Markdown Page Generator" 8 HOMEPAGE_URL "https://git.dimitrijedobrota.com/stamd.git" 9 LANGUAGES CXX 10 ) 11 12 include(cmake/project-is-top-level.cmake) 13 include(cmake/variables.cmake) 14 15 # ---- Declare dependencies ---- 16 17 find_package(md4c CONFIG REQUIRED) 18 find_package(poafloc 1 CONFIG REQUIRED) 19 find_package(hemplate 0.4.0 CONFIG REQUIRED) 20 21 22 # ---- Declare library ---- 23 24 add_library( 25 stamd_lib OBJECT 26 source/article.cpp 27 source/indexer.cpp 28 ) 29 30 target_link_libraries(stamd_lib PUBLIC hemplate::hemplate poafloc::poafloc) 31 32 target_include_directories( 33 stamd_lib ${warning_guard} 34 PUBLIC 35 "\$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/source>" 36 ) 37 38 target_compile_features(stamd_lib PUBLIC cxx_std_20) 39 40 # ---- Declare executable ---- 41 42 add_executable(stamd_exe source/main.cpp) 43 add_executable(stamd::exe ALIAS stamd_exe) 44 45 set_property(TARGET stamd_exe PROPERTY OUTPUT_NAME stamd) 46 47 target_compile_features(stamd_exe PRIVATE cxx_std_20) 48 49 target_link_libraries(stamd_exe PRIVATE poafloc md4c::md4c-html stamd_lib) 50 51 # ---- Install rules ---- 52 53 if(NOT CMAKE_SKIP_INSTALL_RULES) 54 include(cmake/install-rules.cmake) 55 endif() 56 57 # ---- Developer mode ---- 58 59 if(NOT stamd_DEVELOPER_MODE) 60 return() 61 elseif(NOT PROJECT_IS_TOP_LEVEL) 62 message( 63 AUTHOR_WARNING 64 "Developer mode is intended for developers of stamd" 65 ) 66 endif() 67 68 include(cmake/dev-mode.cmake)