Я загрузил с помощью Homebrew этот репозиторий: https://github.com/nlohmann/json
brew tap nlohmann/json
brew install nlohmann-json
Теперь я хочу связать этот пакет с моим проектом. Я создал CMakeFile, например:
set(BINARY ${CMAKE_PROJECT_NAME})
set(SOURCES read_json_file.cpp)
add_executable(${BINARY}_run ${SOURCES})
add_library(${BINARY}_lib STATIC ${SOURCES})
find_package(nlohmann_json 3.2.0 REQUIRED)
set(PATH_JSON_LIB "/usr/local/Cellar/nlohmann-json/3.7.3/include/nlohmann")
add_library(json_to_include ${PATH_JSON_LIB}/json.hpp)
target_link_libraries(${BINARY}_run PRIVATE json_to_include)
Я новичок в CMake, и я не уверен, имеет ли смысл то, что я сделал, но при запуске make
я получаю:
-- Configuring done
CMake Error: Cannot determine link language for target "json_to_include".
CMake Error: CMake can not determine linker language for target: json_to_include
-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
The terminal process terminated with exit code: 1
В репозитории они предлагают просто добавить это в CMake:
# CMakeLists.txt
find_package(nlohmann_json 3.2.0 REQUIRED)
...
add_library(foo ...)
...
target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json)
Но я не знаю, что должно быть после библиотеки foo в add, и она сейчас не работает для меня.