cmake_minimum_required(VERSION 3.11) project(CLI11_Examples LANGUAGES CXX) # Using CMake 3.11's ability to set imported interface targets add_library(CLI11::CLI11 IMPORTED INTERFACE) target_include_directories(CLI11::CLI11 INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/../../include") target_compile_features(CLI11::CLI11 INTERFACE cxx_std_11) # Add CTest enable_testing() # Quick function to add the base executable function(add_cli_exe NAME) add_executable(${NAME} ${NAME}.cpp) target_link_libraries(${NAME} CLI11::CLI11) endfunction() add_cli_exe(simplest) add_test(NAME simplest COMMAND simplest) add_cli_exe(intro) add_test(NAME intro COMMAND intro) add_test(NAME intro_p COMMAND intro -p 5) add_cli_exe(flags) add_test(NAME flags COMMAND flags) add_test(NAME flags_bip COMMAND flags -b -i -p) add_cli_exe(geet) add_test(NAME geet_add COMMAND geet add) add_test(NAME geet_commit COMMAND geet commit -m "Test")