diff --git a/CMakeLists.txt b/CMakeLists.txt index 2115dd4..83b4588 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.14) project(nlohmann_json_schema_validator_vendor) @@ -57,16 +57,13 @@ macro(build_nlohmann_json_schema_validator) endif() set(json_external_project_dir ${CMAKE_CURRENT_BINARY_DIR}/json_external_project) include(ExternalProject) - # HEAD of `main` branch on 2022-10-07 - set(nlohmann_json_schema_validator_version "5ef4f903af055550e06955973a193e17efded896") + # clone v2.4.0 + set(nlohmann_json_schema_validator_version c780404a84dd9ba978ba26bc58d17cb43fa7bc80) externalproject_add(nlohmann_json_schema_validator-${nlohmann_json_schema_validator_version} GIT_REPOSITORY https://github.com/pboettch/json-schema-validator.git GIT_TAG ${nlohmann_json_schema_validator_version} GIT_CONFIG advice.detachedHead=false - # Suppress git update due to https://gitlab.kitware.com/cmake/cmake/-/issues/16419 - UPDATE_COMMAND "" TIMEOUT 6000 - PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch_cmakelist ${cmake_commands} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${json_external_project_dir}/install/ diff --git a/patch_cmakelist b/patch_cmakelist deleted file mode 100644 index 00881fd..0000000 --- a/patch_cmakelist +++ /dev/null @@ -1,62 +0,0 @@ ---- ./CMakeLists.txt -+++ ./CMakeLists.txt -@@ -156,34 +156,33 @@ - endif() - - if(JSON_VALIDATOR_INSTALL) -- # Set Up the Project Targets and Config Files for CMake -- -- # Set the install path to the cmake config files -- set(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME}) -- -- # Create the ConfigVersion file -- include(CMakePackageConfigHelpers) # write_basic_package_version_file -- write_basic_package_version_file( ${PROJECT_NAME}ConfigVersion.cmake -- VERSION ${PACKAGE_VERSION} -- COMPATIBILITY SameMajorVersion) -- -- # Get the relative path from the INSTALL_CMAKE_DIR to the include directory -- file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${CMAKE_INSTALL_PREFIX}/include") -- -- -- # Configure the Config.cmake file with the proper include directory -- set(CONF_INCLUDE_DIRS "\${JSON_SCHEMA_VALIDATOR_CMAKE_DIR}/${REL_INCLUDE_DIR}") -- configure_file(${PROJECT_NAME}Config.cmake.in -- "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" @ONLY) -- -- # Install the Config.cmake and ConfigVersion.cmake files -- install(FILES -- "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" -- "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" -- DESTINATION "${INSTALL_CMAKE_DIR}") -+ # Set the install path to the cmake config files (Relative, so install works correctly under Hunter as well) -+ set(INSTALL_CMAKE_DIR "lib/cmake/${PROJECT_NAME}") -+ set(INSTALL_CMAKEDIR_ROOT share/cmake) - - # Install Targets - install(EXPORT ${PROJECT_NAME}Targets - FILE ${PROJECT_NAME}Targets.cmake - DESTINATION "${INSTALL_CMAKE_DIR}") -+ -+ include(CMakePackageConfigHelpers) -+ write_basic_package_version_file( -+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake -+ VERSION ${PROJECT_VERSION} -+ COMPATIBILITY SameMajorVersion -+ ) -+ -+ configure_package_config_file( -+ ${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in -+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake -+ INSTALL_DESTINATION ${INSTALL_CMAKEDIR_ROOT}/${PROJECT_NAME} -+ ) -+ -+ install( -+ FILES -+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake -+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake -+ DESTINATION -+ ${INSTALL_CMAKE_DIR} -+ ) - endif() -