stamenStatic Menu Generator |
git clone git://git.dimitrijedobrota.com/stamen.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
CMakeLists.txt (1453B)
0 cmake_minimum_required(VERSION 3.14)
2 project(stamenExamples CXX)
4 include(../cmake/project-is-top-level.cmake)
5 include(../cmake/folders.cmake)
7 if(PROJECT_IS_TOP_LEVEL)
8 find_package(stamen REQUIRED)
9 endif()
11 configure_file(demo_menu.conf demo_menu.conf COPYONLY)
12 configure_file(shared.h shared.h COPYONLY)
14 add_custom_target(run-examples)
16 add_custom_command(
17 OUTPUT demo_menu.hpp demo_menu.cpp
18 COMMAND stamen::exe -d test_display --cpp demo_menu.conf
19 DEPENDS demo_menu.conf stamen::exe
20 WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
21 COMMENT "Generating menu files"
22 )
24 add_custom_command(
25 OUTPUT demo_menu.h demo_menu.c
26 COMMAND stamen::exe --c demo_menu.conf
27 DEPENDS demo_menu.conf stamen::exe
28 WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
29 COMMENT "Generating cmenu files"
30 )
32 function(add_example NAME EXT)
33 add_executable("${NAME}" "${NAME}.${EXT}")
34 target_include_directories("${NAME}" PRIVATE "${PROJECT_BINARY_DIR}")
35 target_link_libraries("${NAME}" PRIVATE stamen::stamen)
36 target_compile_features("${NAME}" PRIVATE cxx_std_20)
37 add_custom_target("run_${NAME}" COMMAND "${NAME}" demo_menu.conf VERBATIM)
38 add_dependencies("run_${NAME}" "${NAME}")
39 add_dependencies(run-examples "run_${NAME}")
41 endfunction()
43 add_example(example_c c)
44 target_sources(example_c PRIVATE "demo_menu.c")
46 add_example(example_cpp cpp)
47 target_sources(example_cpp PRIVATE "demo_menu.cpp")
49 add_example(dynamic cpp)
51 add_folders(Example)