On 2. 2. 26 10:49, Timofei Zhakov wrote:
[...]
I lied. There is a better way to check versions.

As it turns out, both find_package() and pkg_search_module() have this functionality out-of-the-box. Here is what I would propose:

[[[
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 1931642)
+++ CMakeLists.txt (working copy)
@@ -377,18 +377,12 @@ endif()
 ### Serf
 if (SVN_ENABLE_RA_SERF)
   if(SVN_USE_PKG_CONFIG)
-    pkg_search_module(serf IMPORTED_TARGET REQUIRED serf-2 serf-1)
+    pkg_search_module(serf IMPORTED_TARGET REQUIRED serf-2 serf-1>=1.3.4)
     add_library(external-serf ALIAS PkgConfig::serf)
-    set(DETECTED_SERF_VERSION "${serf_VERSION}")
   else()
-    find_package(Serf REQUIRED)
+    find_package(Serf REQUIRED 1.3.4)
     add_library(external-serf ALIAS Serf::Serf)
-    set(DETECTED_SERF_VERSION "${Serf_VERSION}")
   endif()
-
-  if("${DETECTED_SERF_VERSION}" VERSION_LESS 1.3.4)
-    message(FATAL_ERROR "Serf 1.3.4 or later required, found ${DETECTED_SERF_VERSION}")
-  endif()
 endif()

 if (SVN_CHECKSUM_BACKEND STREQUAL "apr")
]]]

I'm assuming that serf-2 with a lower version is impossible.

That would be a deadly sin against semver. :) serf-2 will be >=2.0.0, <3.

-- Brane

Reply via email to