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)