cmake_minimum_required(VERSION 3.21) project(leaf_examples LANGUAGES CXX) if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Boost CONFIG COMPONENTS leaf) if(NOT TARGET Boost::leaf) find_package(Boost REQUIRED) set(LEAF_TARGET Boost::headers) else() set(LEAF_TARGET Boost::leaf) endif() set(EXAMPLES leaf_on_error_example leaf_mutable_block leaf_universal_handler ) foreach(example IN LISTS EXAMPLES) add_executable(${example} src/${example}.cpp) target_link_libraries(${example} PRIVATE ${LEAF_TARGET}) endforeach() install( TARGETS ${EXAMPLES} RUNTIME DESTINATION bin )