include(FetchContent) # RapidJSON — use master for CMake 4.x compatibility (v1.1.0 is from 2016) FetchContent_Declare( rapidjson GIT_REPOSITORY https://github.com/Tencent/rapidjson.git GIT_TAG master GIT_SHALLOW TRUE ) set(RAPIDJSON_BUILD_DOC OFF CACHE BOOL "" FORCE) set(RAPIDJSON_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(RAPIDJSON_BUILD_TESTS OFF CACHE BOOL "" FORCE) FetchContent_GetProperties(rapidjson) if(NOT rapidjson_POPULATED) FetchContent_Populate(rapidjson) # Don't add_subdirectory — just use the headers endif() add_library(json STATIC src/json.cpp ) target_include_directories(json PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include PUBLIC ${rapidjson_SOURCE_DIR}/include )