diff --git a/CMakeLists.txt b/CMakeLists.txt index 608e9e26f..6a0cc95be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,6 +89,9 @@ endif() ## install header files, generate and install cmake config files for find_package() ## include(CMakePackageConfigHelpers) +# use a custom package version config file instead of +# 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} diff --git a/cmake/nlohmann_jsonConfigVersion.cmake.in b/cmake/nlohmann_jsonConfigVersion.cmake.in index 8202f8c5e..109108597 100644 --- a/cmake/nlohmann_jsonConfigVersion.cmake.in +++ b/cmake/nlohmann_jsonConfigVersion.cmake.in @@ -1,3 +1,7 @@ +# 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)