cmake_minimum_required(VERSION 3.28) add_library(nlohmann_json_modules) set(NLOHMANN_JSON_MODULES json.cppm ) if(NOT COMMAND configure_cpp_module_target) function(configure_cpp_module_target target) target_sources(${target} PUBLIC FILE_SET CXX_MODULES FILES ${NLOHMANN_JSON_MODULES}) endfunction() endif() configure_cpp_module_target(nlohmann_json_modules) target_link_libraries(nlohmann_json_modules PUBLIC nlohmann_json::nlohmann_json ) target_include_directories(nlohmann_json_modules PRIVATE ${PROJECT_SOURCE_DIR}/include ) target_compile_features(nlohmann_json_modules PUBLIC cxx_std_20)