Parcourir la source

Use CMakePackageConfigHelpers to generate version file

The version file that already existed looks like it was generated
by this module. Replace it with proper usage of the module.
Kyle Edwards il y a 6 ans
Parent
commit
0f2ad2a06c
2 fichiers modifiés avec 12 ajouts et 18 suppressions
  1. 0 11
      cmake/gRPCConfigVersion.cmake.in
  2. 12 7
      templates/CMakeLists.txt.template

+ 0 - 11
cmake/gRPCConfigVersion.cmake.in

@@ -1,11 +0,0 @@
-set(PACKAGE_VERSION "@PACKAGE_VERSION@")
-
-# Check whether the requested PACKAGE_FIND_VERSION is compatible
-if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
-    set(PACKAGE_VERSION_COMPATIBLE FALSE)
-else()
-    set(PACKAGE_VERSION_COMPATIBLE TRUE)
-    if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
-        set(PACKAGE_VERSION_EXACT TRUE)
-    endif()
-endif()

+ 12 - 7
templates/CMakeLists.txt.template

@@ -614,13 +614,18 @@
     )
   endif()
 
-  foreach(_config gRPCConfig gRPCConfigVersion)
-    configure_file(cmake/<%text>${_config}</%text>.cmake.in
-      <%text>${_config}</%text>.cmake @ONLY)
-    install(FILES <%text>${CMAKE_CURRENT_BINARY_DIR}/${_config}</%text>.cmake
-      DESTINATION <%text>${gRPC_INSTALL_CMAKEDIR}</%text>
-    )
-  endforeach()
+  include(CMakePackageConfigHelpers)
+
+  configure_file(cmake/gRPCConfig.cmake.in
+    gRPCConfig.cmake @ONLY)
+  write_basic_package_version_file(<%text>${CMAKE_CURRENT_BINARY_DIR}/</%text>gRPCConfigVersion.cmake
+    VERSION <%text>${PACKAGE_VERSION}</%text>
+    COMPATIBILITY AnyNewerVersion)
+  install(FILES
+      <%text>${CMAKE_CURRENT_BINARY_DIR}/</%text>gRPCConfig.cmake
+      <%text>${CMAKE_CURRENT_BINARY_DIR}/</%text>gRPCConfigVersion.cmake
+    DESTINATION <%text>${gRPC_INSTALL_CMAKEDIR}</%text>
+  )
 
   install(FILES <%text>${CMAKE_CURRENT_SOURCE_DIR}/etc/roots.pem</%text>
     DESTINATION <%text>${gRPC_INSTALL_SHAREDIR}</%text>)