Merge pull request #1746 from uhoreg/cmake_arch_indep
make CMake's version config file architecture-independent
This commit is contained in:
commit
be137609df
2 changed files with 27 additions and 2 deletions
|
@ -89,8 +89,13 @@ endif()
|
||||||
## install header files, generate and install cmake config files for find_package()
|
## install header files, generate and install cmake config files for find_package()
|
||||||
##
|
##
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
write_basic_package_version_file(
|
# use a custom package version config file instead of
|
||||||
${NLOHMANN_JSON_CMAKE_VERSION_CONFIG_FILE} COMPATIBILITY SameMajorVersion
|
# write_basic_package_version_file to ensure that it's architecture-independent
|
||||||
|
# https://github.com/nlohmann/json/issues/1697
|
||||||
|
configure_file(
|
||||||
|
"cmake/nlohmann_jsonConfigVersion.cmake.in"
|
||||||
|
${NLOHMANN_JSON_CMAKE_VERSION_CONFIG_FILE}
|
||||||
|
@ONLY
|
||||||
)
|
)
|
||||||
configure_file(
|
configure_file(
|
||||||
${NLOHMANN_JSON_CMAKE_CONFIG_TEMPLATE}
|
${NLOHMANN_JSON_CMAKE_CONFIG_TEMPLATE}
|
||||||
|
|
20
cmake/nlohmann_jsonConfigVersion.cmake.in
Normal file
20
cmake/nlohmann_jsonConfigVersion.cmake.in
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# This is essentially cmake's BasicConfigVersion-SameMajorVersion.cmake.in but
|
||||||
|
# without the 32/64-bit check. Since json is a header-only library, it doesn't
|
||||||
|
# matter if it was built on a different platform than what it is used on (see
|
||||||
|
# https://github.com/nlohmann/json/issues/1697).
|
||||||
|
set(PACKAGE_VERSION "@PROJECT_VERSION@")
|
||||||
|
|
||||||
|
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
|
else()
|
||||||
|
|
||||||
|
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL "@PROJECT_VERSION_MAJOR@")
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||||
|
else()
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||||
|
set(PACKAGE_VERSION_EXACT TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
Loading…
Reference in a new issue