Управление зависимостями C++. CMake Работает только с проектами которые так же собираются CMake Минимальная структура проекта . ├── CMakeLists.txt └── src └── hello.cpp CMakeLists.txt cmake_minimum_required(VERSION 3.15) project(Tutorial) add_executable(${PROJECT_NAME} src/hello.cpp) include(FetchContent) FetchContent_Declare( json GIT_REPOSITORY https://github.com/nlohmann/json.git GIT_TAG v3.11.2 ) FetchContent_Declare( zlib GIT_REPOSITORY https://github.com/madler/zlib.git GIT_TAG v1.3 ) FetchContent_MakeAvailable(json) FetchContent_MakeAvailable(zlib) target_link_libraries(${PROJECT_NAME} PRIVATE nlohmann_json::nlohmann_json) target_link_libraries(${PROJECT_NAME} PRIVATE zlib) hello.cpp #include <iostream> #include <zlib.h> #include <nlohmann/json.hpp> using json = nlohmann::json; int main() { std::cout << zlibVersion(); std::cout << "\n"; json ex1 = json::parse(R"( { "pi": 3.141, "happy": true } )"); std::cout << ex1.contains("pi2"); std::cout << "\n"; std::cout << ex1; return 0; } Сборка mkdir build && cd build cmake .. make