# ~~~ # Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ~~~ include(ExternalProjectHelper) if (NOT TARGET nlohmann-json-project) # Give application developers a hook to configure the version and hash # downloaded from GitHub. set(GOOGLE_CLOUD_CPP_NLOHMANN_JSON_URL "https://github.com/nlohmann/json/archive/v3.9.0.tar.gz") set(GOOGLE_CLOUD_CPP_NLOHMANN_JSON_SHA256 "9943db11eeaa5b23e58a88fbc26c453faccef7b546e55063ad00e7caaaf76d0b") set_external_project_build_parallel_level(PARALLEL) set_external_project_vars() include(ExternalProject) ExternalProject_Add( nlohmann-json-project EXCLUDE_FROM_ALL ON PREFIX "${CMAKE_BINARY_DIR}/external/nlohmann_json" INSTALL_DIR "${GOOGLE_CLOUD_CPP_EXTERNAL_PREFIX}" URL ${GOOGLE_CLOUD_CPP_NLOHMANN_JSON_URL} URL_HASH SHA256=${GOOGLE_CLOUD_CPP_NLOHMANN_JSON_SHA256} LIST_SEPARATOR | CMAKE_ARGS ${GOOGLE_CLOUD_CPP_EXTERNAL_PROJECT_CMAKE_FLAGS} -DCMAKE_PREFIX_PATH=${GOOGLE_CLOUD_CPP_PREFIX_PATH} -DCMAKE_INSTALL_RPATH=${GOOGLE_CLOUD_CPP_INSTALL_RPATH} -DCMAKE_INSTALL_PREFIX= -DBUILD_TESTING=OFF BUILD_COMMAND ${CMAKE_COMMAND} --build ${PARALLEL} LOG_DOWNLOAD ON LOG_CONFIGURE ON LOG_BUILD ON LOG_INSTALL ON) endif ()