Author: rinrab
Date: Tue Jul  9 13:49:57 2024
New Revision: 1919061

URL: http://svn.apache.org/viewvc?rev=1919061&view=rev
Log:
On the 'cmake' branch: Check if header files exist before reading versions
from them.

* build/cmake/FindAPR.cmake,
  build/cmake/FindAPRUtil.cmake,
  CMakeLists.txt
  (version): Check path for existing before CMake magic.

Modified:
    subversion/branches/cmake/CMakeLists.txt
    subversion/branches/cmake/build/cmake/FindAPR.cmake
    subversion/branches/cmake/build/cmake/FindAPRUtil.cmake

Modified: subversion/branches/cmake/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/subversion/branches/cmake/CMakeLists.txt?rev=1919061&r1=1919060&r2=1919061&view=diff
==============================================================================
--- subversion/branches/cmake/CMakeLists.txt (original)
+++ subversion/branches/cmake/CMakeLists.txt Tue Jul  9 13:49:57 2024
@@ -20,16 +20,18 @@
 #
 
 function(read_version path var major minor patch)
-  file(
-    STRINGS ${path} VERSION_STRINGS
-    REGEX "#define (${major}|${minor}|${patch})"
-  )
-
-  string(REGEX REPLACE ".*${major} +([0-9]+).*" "\\1" VER_MAJOR 
${VERSION_STRINGS})
-  string(REGEX REPLACE ".*${minor} +([0-9]+).*" "\\1" VER_MINOR 
${VERSION_STRINGS})
-  string(REGEX REPLACE ".*${patch} +([0-9]+).*" "\\1" VER_PATCH 
${VERSION_STRINGS})
+  if (EXISTS ${path})
+    file(
+      STRINGS ${path} VERSION_STRINGS
+      REGEX "#define (${major}|${minor}|${patch})"
+    )
+
+    string(REGEX REPLACE ".*${major} +([0-9]+).*" "\\1" VER_MAJOR 
${VERSION_STRINGS})
+    string(REGEX REPLACE ".*${minor} +([0-9]+).*" "\\1" VER_MINOR 
${VERSION_STRINGS})
+    string(REGEX REPLACE ".*${patch} +([0-9]+).*" "\\1" VER_PATCH 
${VERSION_STRINGS})
 
-  set(${var} "${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" PARENT_SCOPE)
+    set(${var} "${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" PARENT_SCOPE)
+  endif()
 endfunction()
 
 cmake_minimum_required(VERSION 3.12)
@@ -190,12 +192,14 @@ if(SVN_SQLITE_USE_AMALGAMATION)
   target_include_directories(external-sqlite PUBLIC 
${SVN_SQLITE_AMALGAMATION_DIR})
   target_compile_definitions(external-sqlite PUBLIC SVN_SQLITE_INLINE)
 
-  file(STRINGS ${SVN_SQLITE_AMALGAMATION_DIR}/sqlite3.c _ver_line
-       REGEX "^#define SQLITE_VERSION  *\"[0-9]+\\.[0-9]+\\.[0-9]+\""
-       LIMIT_COUNT 1)
-  string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+"
-          SQLite3_VERSION "${_ver_line}")
-  unset(_ver_line)
+  if (SVN_SQLITE_AMALGAMATION_DIR)
+    file(STRINGS ${SVN_SQLITE_AMALGAMATION_DIR}/sqlite3.c _ver_line
+         REGEX "^#define SQLITE_VERSION  *\"[0-9]+\\.[0-9]+\\.[0-9]+\""
+         LIMIT_COUNT 1)
+    string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+"
+            SQLite3_VERSION "${_ver_line}")
+    unset(_ver_line)
+  endif()
 else()
   find_package(SQLite3 REQUIRED)
   add_library(external-sqlite ALIAS SQLite::SQLite3)

Modified: subversion/branches/cmake/build/cmake/FindAPR.cmake
URL: 
http://svn.apache.org/viewvc/subversion/branches/cmake/build/cmake/FindAPR.cmake?rev=1919061&r1=1919060&r2=1919061&view=diff
==============================================================================
--- subversion/branches/cmake/build/cmake/FindAPR.cmake (original)
+++ subversion/branches/cmake/build/cmake/FindAPR.cmake Tue Jul  9 13:49:57 2024
@@ -54,16 +54,18 @@ elseif(APR_LIBRARY_STATIC)
   set(APR_LIBRARY ${APR_LIBRARY_STATIC})
 endif()
 
-file(
-  STRINGS "${APR_INCLUDE_DIR}/apr_version.h" VERSION_STRINGS
-  REGEX "#define (APR_MAJOR_VERSION|APR_MINOR_VERSION|APR_PATCH_VERSION)"
-)
+if (APR_INCLUDE_DIR AND EXISTS ${APR_INCLUDE_DIR}/apr_version.h)
+  file(
+    STRINGS "${APR_INCLUDE_DIR}/apr_version.h" VERSION_STRINGS
+    REGEX "#define (APR_MAJOR_VERSION|APR_MINOR_VERSION|APR_PATCH_VERSION)"
+  )
 
-string(REGEX REPLACE ".*APR_MAJOR_VERSION +([0-9]+).*" "\\1" APR_MAJOR_VERSION 
${VERSION_STRINGS})
-string(REGEX REPLACE ".*APR_MINOR_VERSION +([0-9]+).*" "\\1" APR_MINOR_VERSION 
${VERSION_STRINGS})
-string(REGEX REPLACE ".*APR_PATCH_VERSION +([0-9]+).*" "\\1" APR_PATCH_VERSION 
${VERSION_STRINGS})
+  string(REGEX REPLACE ".*APR_MAJOR_VERSION +([0-9]+).*" "\\1" 
APR_MAJOR_VERSION ${VERSION_STRINGS})
+  string(REGEX REPLACE ".*APR_MINOR_VERSION +([0-9]+).*" "\\1" 
APR_MINOR_VERSION ${VERSION_STRINGS})
+  string(REGEX REPLACE ".*APR_PATCH_VERSION +([0-9]+).*" "\\1" 
APR_PATCH_VERSION ${VERSION_STRINGS})
 
-set(APR_VERSION 
"${APR_MAJOR_VERSION}.${APR_MINOR_VERSION}.${APR_PATCH_VERSION}")
+  set(APR_VERSION 
"${APR_MAJOR_VERSION}.${APR_MINOR_VERSION}.${APR_PATCH_VERSION}")
+endif()
 
 include(FindPackageHandleStandardArgs)
 

Modified: subversion/branches/cmake/build/cmake/FindAPRUtil.cmake
URL: 
http://svn.apache.org/viewvc/subversion/branches/cmake/build/cmake/FindAPRUtil.cmake?rev=1919061&r1=1919060&r2=1919061&view=diff
==============================================================================
--- subversion/branches/cmake/build/cmake/FindAPRUtil.cmake (original)
+++ subversion/branches/cmake/build/cmake/FindAPRUtil.cmake Tue Jul  9 13:49:57 
2024
@@ -54,16 +54,18 @@ elseif(APRUTIL_LIBRARY_STATIC)
   set(APRUTIL_LIBRARY ${APRUTIL_LIBRARY_STATIC})
 endif()
 
-file(
-  STRINGS "${APRUTIL_INCLUDE_DIR}/apu_version.h" VERSION_STRINGS
-  REGEX "#define (APU_MAJOR_VERSION|APU_MINOR_VERSION|APU_PATCH_VERSION)"
-)
+if (APRUTIL_INCLUDE_DIR AND EXISTS "${APRUTIL_INCLUDE_DIR}/apu_version.h")
+  file(
+    STRINGS "${APRUTIL_INCLUDE_DIR}/apu_version.h" VERSION_STRINGS
+    REGEX "#define (APU_MAJOR_VERSION|APU_MINOR_VERSION|APU_PATCH_VERSION)"
+  )
 
-string(REGEX REPLACE ".*APU_MAJOR_VERSION +([0-9]+).*" "\\1" APU_MAJOR_VERSION 
${VERSION_STRINGS})
-string(REGEX REPLACE ".*APU_MINOR_VERSION +([0-9]+).*" "\\1" APU_MINOR_VERSION 
${VERSION_STRINGS})
-string(REGEX REPLACE ".*APU_PATCH_VERSION +([0-9]+).*" "\\1" APU_PATCH_VERSION 
${VERSION_STRINGS})
+  string(REGEX REPLACE ".*APU_MAJOR_VERSION +([0-9]+).*" "\\1" 
APU_MAJOR_VERSION ${VERSION_STRINGS})
+  string(REGEX REPLACE ".*APU_MINOR_VERSION +([0-9]+).*" "\\1" 
APU_MINOR_VERSION ${VERSION_STRINGS})
+  string(REGEX REPLACE ".*APU_PATCH_VERSION +([0-9]+).*" "\\1" 
APU_PATCH_VERSION ${VERSION_STRINGS})
 
-set(APRUTIL_VERSION 
"${APU_MAJOR_VERSION}.${APU_MINOR_VERSION}.${APU_PATCH_VERSION}")
+  set(APRUTIL_VERSION 
"${APU_MAJOR_VERSION}.${APU_MINOR_VERSION}.${APU_PATCH_VERSION}")
+endif()
 
 include(FindPackageHandleStandardArgs)
 


Reply via email to