The package nlohmann-json provides CMake targets: find_package(nlohmann_json CONFIG REQUIRED) target_link_libraries(main PRIVATE nlohmann_json::nlohmann_json) The package nlohmann-json can be configured to not provide implicit conversions via a custom triplet file: set(nlohmann-json_IMPLICIT_CONVERSIONS OFF) For more information, see the docs here: https://json.nlohmann.me/api/macros/json_use_implicit_conversions/