Author: rinrab
Date: Tue Jun 10 22:00:42 2025
New Revision: 1926349
URL: http://svn.apache.org/viewvc?rev=1926349&view=rev
Log:
cmake: Support apr-2.
* build/cmake/FindAPR.cmake
(APR_INCLUDE_DIR): Also check apr-2 directory.
(version): Read it just after include dir and default it to 1.0.0 version
file not found.
(APR_LIBRARY_SHARED, APR_LIBRARY_STATIC, APR_DLL): Use APR_MAJOR_VERSION
to determine suffix.
* build/cmake/FindSerf.cmake: Look for apr-util only if apr version is not '2'.
* CMakeLists.txt
(APR): Merge apr and apr-util sections, support apr-2 (which also ignores
apr-util library). In pkg-config branch we check for different names of
the config, while module branch adds apr-util only if apr version is
not '2'.
Modified:
subversion/trunk/CMakeLists.txt
subversion/trunk/build/cmake/FindAPR.cmake
subversion/trunk/build/cmake/FindSerf.cmake
Modified: subversion/trunk/CMakeLists.txt
URL: http://svn.apache.org/viewvc/subversion/trunk/CMakeLists.txt?rev=1926349&r1=1926348&r2=1926349&view=diff
==============================================================================
--- subversion/trunk/CMakeLists.txt (original)
+++ subversion/trunk/CMakeLists.txt Tue Jun 10 22:00:42 2025
@@ -260,24 +260,33 @@ if(SVN_USE_PKG_CONFIG)
find_package(PkgConfig REQUIRED)
endif()
-### APR
+### APR and APR-Util
if(SVN_USE_PKG_CONFIG)
- pkg_check_modules(apr-1 REQUIRED IMPORTED_TARGET apr-1)
- add_library(external-apr ALIAS PkgConfig::apr-1)
+ pkg_check_modules(apr IMPORTED_TARGET apr-1)
+
+ if(apr_FOUND)
+ # apr-1
+ add_library(external-apr ALIAS PkgConfig::apr)
+
+ pkg_check_modules(aprutil-1 REQUIRED IMPORTED_TARGET apr-util-1)
+ add_library(external-aprutil ALIAS PkgConfig::aprutil-1)
+ else()
+ # apr-2
+ pkg_check_modules(apr REQUIRED IMPORTED_TARGET apr-2)
+ add_library(external-apr ALIAS PkgConfig::apr)
+ add_library(external-aprutil ALIAS PkgConfig::apr)
+ endif()
else()
find_package(APR REQUIRED)
add_library(external-apr ALIAS apr::apr)
-endif()
-### APR-Util
-
-if(SVN_USE_PKG_CONFIG)
- pkg_check_modules(aprutil-1 REQUIRED IMPORTED_TARGET apr-util-1)
- add_library(external-aprutil ALIAS PkgConfig::aprutil-1)
-else()
- find_package(APRUtil REQUIRED)
- add_library(external-aprutil ALIAS apr::aprutil)
+ if(APR_MAJOR_VERSION EQUAL 2)
+ add_library(external-aprutil ALIAS apr::apr)
+ else()
+ find_package(APRUtil REQUIRED)
+ add_library(external-aprutil ALIAS apr::aprutil)
+ endif()
endif()
### ZLIB
Modified: subversion/trunk/build/cmake/FindAPR.cmake
URL: http://svn.apache.org/viewvc/subversion/trunk/build/cmake/FindAPR.cmake?rev=1926349&r1=1926348&r2=1926349&view=diff
==============================================================================
--- subversion/trunk/build/cmake/FindAPR.cmake (original)
+++ subversion/trunk/build/cmake/FindAPR.cmake Tue Jun 10 22:00:42 2025
@@ -25,20 +25,40 @@ find_path(APR_INCLUDE_DIR
include
include/apr-1
include/apr-1.0
+ include/apr-2
+ include/apr-2.0
)
+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})
+else()
+ # Default version to 1.0.0 if not found.
+ set(APR_MAJOR_VERSION 1)
+ set(APR_MINOR_VERSION 0)
+ set(APR_PATCH_VERSION 0)
+endif()
+
+set(APR_VERSION "${APR_MAJOR_VERSION}.${APR_MINOR_VERSION}.${APR_PATCH_VERSION}")
+
find_library(APR_LIBRARY_SHARED
- NAMES libapr-1
+ NAMES libapr-${APR_MAJOR_VERSION}
PATH_SUFFIXES lib
)
find_library(APR_LIBRARY_STATIC
- NAMES apr-1
+ NAMES apr-${APR_MAJOR_VERSION}
PATH_SUFFIXES lib
)
find_file(APR_DLL
- NAMES libapr-1.dll
+ NAMES libapr-${APR_MAJOR_VERSION}.dll
PATH_SUFFIXES bin
)
@@ -55,19 +75,6 @@ elseif(APR_LIBRARY_STATIC)
set(APR_LIBRARY ${APR_LIBRARY_STATIC})
endif()
-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})
-
- set(APR_VERSION "${APR_MAJOR_VERSION}.${APR_MINOR_VERSION}.${APR_PATCH_VERSION}")
-endif()
-
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
Modified: subversion/trunk/build/cmake/FindSerf.cmake
URL: http://svn.apache.org/viewvc/subversion/trunk/build/cmake/FindSerf.cmake?rev=1926349&r1=1926348&r2=1926349&view=diff
==============================================================================
--- subversion/trunk/build/cmake/FindSerf.cmake (original)
+++ subversion/trunk/build/cmake/FindSerf.cmake Tue Jun 10 22:00:42 2025
@@ -77,16 +77,19 @@ set_target_properties(Serf::Serf PROPERT
find_package(OpenSSL REQUIRED)
find_package(APR REQUIRED)
-find_package(APRUtil REQUIRED)
find_package(ZLIB REQUIRED)
target_link_libraries(Serf::Serf INTERFACE
apr::apr
- apr::aprutil
OpenSSL::SSL
ZLIB::ZLIB
)
+if(NOT APR_MAJOR_VERSION EQUAL 2)
+ find_package(APRUtil REQUIRED)
+ target_link_libraries(Serf::Serf INTERFACE apr::aprutil)
+endif()
+
if (WIN32)
target_link_libraries(Serf::Serf INTERFACE
crypt32.lib
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.