add compile target c++ 20modules. nolhman_json tomlplusplus have same targets for import modules
little suggestion
option(ARGPARSE_BUILD_MODULES "Build C++ modules support" OFF)
option(ARGPARSE_MODULE_USE_STD_MODULE "Build with modules C++ import std" OFF)
if(ARGPARSE_BUILD_MODULES)
add_library(argparse_modules)
add_library(argparse::modules ALIAS argparse_modules)
target_sources(
argparse_modules PUBLIC FILE_SET CXX_MODULES FILES
${CMAKE_CURRENT_LIST_DIR}/module/argparse.cppm)
target_link_libraries(argparse_modules PRIVATE argparse::argparse)
if(ARGPARSE_MODULE_USE_STD_MODULE)
target_compile_definitions(argparse_modules PRIVATE -DARGPARSE_MODULE_USE_STD_MODULE=1)
target_compile_features(argparse_modules PUBLIC cxx_std_23)
else()
target_compile_features(argparse_modules PUBLIC cxx_std_20)
endif()
endif()
add compile target c++ 20modules. nolhman_json tomlplusplus have same targets for import modules
little suggestion