Преглед на файлове

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 преди 6 години
родител
ревизия
0f2ad2a06c
променени са 2 файла, в които са добавени 12 реда и са изтрити 18 реда
  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>)