stamenStatic Menu Generator |
git clone git://git.dimitrijedobrota.com/stamen.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
CMakeLists.txt (1135B)
0 cmake_minimum_required(VERSION 3.14) 1 2 project(stamenExamples CXX) 3 4 include(../cmake/project-is-top-level.cmake) 5 include(../cmake/folders.cmake) 6 if(PROJECT_IS_TOP_LEVEL) 7 find_package(stamen REQUIRED) 8 endif() 9 10 configure_file(demo_menu.conf demo_menu.conf COPYONLY) 11 12 add_custom_target(run-examples) 13 14 add_custom_command( 15 OUTPUT demo_menu.hpp demo_menu.cpp 16 COMMAND stamen::exe --namespace example demo_menu.conf 17 DEPENDS demo_menu.conf stamen::exe 18 WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" 19 COMMENT "Generating menu files" 20 ) 21 22 function(add_example NAME EXT) 23 add_executable("${NAME}" "${NAME}.${EXT}") 24 target_include_directories("${NAME}" PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") 25 target_link_libraries("${NAME}" PRIVATE stamen::stamen) 26 target_compile_features("${NAME}" PRIVATE cxx_std_20) 27 add_custom_target("run_${NAME}" COMMAND "${NAME}" demo_menu.conf VERBATIM) 28 add_dependencies("run_${NAME}" "${NAME}") 29 add_dependencies(run-examples "run_${NAME}") 30 endfunction() 31 32 add_example(static cpp) 33 target_sources(static PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/demo_menu.cpp") 34 35 add_example(dynamic cpp) 36 37 add_folders(Example)