[SCM] UID Wrapper Repository - branch master updated

Andreas Schneider asn at samba.org
Wed Jan 25 10:15:26 UTC 2023


The branch, master has been updated
       via  9db9f48 cmake: Print a message that uid_wrapper was found with find_package()
       via  bcda60d cmake: Improve version detection to support ranges
      from  0e55550 Bump version to 1.3.0

https://git.samba.org/?p=uid_wrapper.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 9db9f48cfff026f11c6882811d205c2a16589517
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jan 24 11:03:43 2023 +0100

    cmake: Print a message that uid_wrapper was found with find_package()
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Pavel Filipenský <pfilipensky at samba.org>

commit bcda60d404ab0c9fc7a5bf8f5e5fd81cef8d6862
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jan 24 11:03:18 2023 +0100

    cmake: Improve version detection to support ranges
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Pavel Filipenský <pfilipensky at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 CMakeLists.txt                      |  2 ++
 uid_wrapper-config-version.cmake.in | 41 +++++++++++++++++++++++++++++++------
 uid_wrapper-config.cmake.in         | 15 +++++++++++++-
 3 files changed, 51 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c11220a..1523bd7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,6 +68,8 @@ install(
 )
 
 # cmake config files
+set(PACKAGE_NAME "uid_wrapper")
+set(PACKAGE_NAME_UPPER "UID_WRAPPER")
 configure_file(uid_wrapper-config-version.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/uid_wrapper-config-version.cmake @ONLY)
 configure_file(uid_wrapper-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/uid_wrapper-config.cmake @ONLY)
 install(
diff --git a/uid_wrapper-config-version.cmake.in b/uid_wrapper-config-version.cmake.in
index 4bff45e..c59f6c8 100644
--- a/uid_wrapper-config-version.cmake.in
+++ b/uid_wrapper-config-version.cmake.in
@@ -1,11 +1,40 @@
 set(PACKAGE_VERSION @PROJECT_VERSION@)
 
-# Check whether the requested PACKAGE_FIND_VERSION is compatible
-if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
-    set(PACKAGE_VERSION_COMPATIBLE FALSE)
+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)
+  if(${PACKAGE_VERSION} MATCHES "^([0-9]+)\\.")
+    set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
+    if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
+      string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
     endif()
+  else()
+    set(CVF_VERSION_MAJOR ${PACKAGE_VERSION})
+  endif()
+
+  if(PACKAGE_FIND_VERSION_RANGE)
+    # both endpoints of the range must have the expected major version
+    math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
+    if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
+        OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
+          OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
+      set(PACKAGE_VERSION_COMPATIBLE FALSE)
+    elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
+        AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
+        OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
+      set(PACKAGE_VERSION_COMPATIBLE TRUE)
+    else()
+      set(PACKAGE_VERSION_COMPATIBLE FALSE)
+    endif()
+  else()
+    if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_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()
 endif()
diff --git a/uid_wrapper-config.cmake.in b/uid_wrapper-config.cmake.in
index 43ab1fa..4e77dd6 100644
--- a/uid_wrapper-config.cmake.in
+++ b/uid_wrapper-config.cmake.in
@@ -1 +1,14 @@
-set(UID_WRAPPER_LIBRARY @CMAKE_INSTALL_FULL_LIBDIR@/@UID_WRAPPER_LIB@)
+set(@PACKAGE_NAME_UPPER at _LIBRARY @CMAKE_INSTALL_FULL_LIBDIR@/@UID_WRAPPER_LIB@)
+
+# Load information for each installed configuration.
+file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/@PACKAGE_NAME at -config-*.cmake")
+foreach(_cmake_config_file IN LISTS _cmake_config_files)
+    include("${_cmake_config_file}")
+endforeach()
+unset(_cmake_config_files)
+unset(_cmake_config_file)
+
+include(FindPackageMessage)
+find_package_message(@PACKAGE_NAME@
+                     "Found @PACKAGE_NAME@: ${@PACKAGE_NAME_UPPER at _LIBRARY} (version \"${PACKAGE_VERSION}\")"
+                     "[${@PACKAGE_NAME_UPPER at _LIBRARY}][${PACKAGE_VERSION}]")


-- 
UID Wrapper Repository



More information about the samba-cvs mailing list