| 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) |