svn commit: r1936526 - subversion/trunk
[email protected] Thu, 23 Jul 2026 14:27:47 -0000
| Newsgroups | gmane.comp.version-control.subversion.svn |
|---|---|
| Message-ID | <178481686730.1417731.11948342096639698947@svn03-he-fi> |
Author: jun66j5
Date: Thu Jul 23 14:27:47 2026
New Revision: 1936526
Log:
cmake: Create ALIAS after changing the target to IMPORTED GLOBAL. In older
versions of cmake, targets created by `find_package()` are not GLOBAL, so
creating the ALIAS will fail.
* CMakeLists.txt
(svn_create_alias_target):
Add the function to create ALIAS after changing the target to IMPORTED
GLOBAL.
():
Use `svn_create_alias_target()` instead of `add_library(... ALIAS ...)`.
Modified:
subversion/trunk/CMakeLists.txt
Modified: subversion/trunk/CMakeLists.txt
==============================================================================
--- subversion/trunk/CMakeLists.txt Thu Jul 23 14:14:30 2026 (r1936525)
+++ subversion/trunk/CMakeLists.txt Thu Jul 23 14:27:47 2026 (r1936526)
@@ -438,6 +438,17 @@ function(target_exports target_name)
endif()
endfunction()
+function(svn_create_alias_target name target)
+ get_target_property(imported ${target} IMPORTED)
+ if(imported)
+ get_target_property(global ${target} IMPORTED_GLOBAL)
+ if(NOT global)
+ set_target_properties(${target} PROPERTIES IMPORTED_GLOBAL TRUE)
+ endif()
+ endif()
+ add_library(${name} ALIAS ${target})
+endfunction()
+
if (NOT EXISTS "${CMAKE_SOURCE_DIR}/build/cmake/targets.cmake")
message(SEND_ERROR
"The 'build/cmake/targets.cmake' file does NOT exist. "
@@ -466,7 +477,7 @@ if(SVN_ENABLE_NLS)
)
endif()
- add_library(external-intl ALIAS Intl::Intl)
+ svn_create_alias_target(external-intl Intl::Intl)
add_private_config_definition(
"Define to 1 if translation of program messages to the user's native language is requested."
@@ -523,8 +534,8 @@ link_libraries(external-intl)
if(SVN_ENABLE_APACHE_MODULES)
find_package(Httpd REQUIRED)
- add_library(external-libhttpd ALIAS httpd::httpd)
- add_library(external-mod_dav ALIAS httpd::mod_dav)
+ svn_create_alias_target(external-libhttpd httpd::httpd)
+ svn_create_alias_target(external-mod_dav httpd::mod_dav)
endif()
add_library(ra-libs INTERFACE)
@@ -545,27 +556,27 @@ endif()
if(SVN_USE_PKG_CONFIG)
pkg_search_module(apr REQUIRED IMPORTED_TARGET apr-2 apr-1)
- add_library(external-apr ALIAS PkgConfig::apr)
+ svn_create_alias_target(external-apr PkgConfig::apr)
if(APR_VERSION VERSION_LESS 2.0.0)
# apr-1
pkg_check_modules(aprutil-1 REQUIRED IMPORTED_TARGET apr-util-1)
- add_library(external-aprutil ALIAS PkgConfig::aprutil-1)
+ svn_create_alias_target(external-aprutil PkgConfig::aprutil-1)
set(SVN_APR_MAJOR_VERSION 1)
else()
# apr-2
- add_library(external-aprutil ALIAS PkgConfig::apr)
+ svn_create_alias_target(external-aprutil PkgConfig::apr)
set(SVN_APR_MAJOR_VERSION 2)
endif()
else()
find_package(APR REQUIRED)
- add_library(external-apr ALIAS apr::apr)
+ svn_create_alias_target(external-apr apr::apr)
if(APR_VERSION VERSION_LESS 2.0.0)
find_package(APRUtil REQUIRED)
- add_library(external-aprutil ALIAS apr::aprutil)
+ svn_create_alias_target(external-aprutil apr::aprutil)
else()
- add_library(external-aprutil ALIAS apr::apr)
+ svn_create_alias_target(external-aprutil apr::apr)
endif()
endif()
@@ -573,22 +584,22 @@ endif()
if(SVN_USE_PKG_CONFIG)
pkg_check_modules(zlib REQUIRED IMPORTED_TARGET zlib)
- add_library(external-zlib ALIAS PkgConfig::zlib)
+ svn_create_alias_target(external-zlib PkgConfig::zlib)
set(SVN_ZLIB_LIBS ${zlib_LDFLAGS})
else()
find_package(ZLIB REQUIRED)
- add_library(external-zlib ALIAS ZLIB::ZLIB)
+ svn_create_alias_target(external-zlib ZLIB::ZLIB)
endif()
### EXPAT
if(SVN_USE_PKG_CONFIG)
pkg_check_modules(expat REQUIRED IMPORTED_TARGET expat)
- add_library(external-xml ALIAS PkgConfig::expat)
+ svn_create_alias_target(external-xml PkgConfig::expat)
set(SVN_XML_LIBS ${expat_LDFLAGS})
else()
find_package(EXPAT REQUIRED)
- add_library(external-xml ALIAS EXPAT::EXPAT)
+ svn_create_alias_target(external-xml EXPAT::EXPAT)
endif()
### LZ4
@@ -603,11 +614,11 @@ if(SVN_USE_INTERNAL_LZ4)
)
elseif(SVN_USE_PKG_CONFIG)
pkg_check_modules(lz4 REQUIRED IMPORTED_TARGET liblz4)
- add_library(external-lz4 ALIAS PkgConfig::lz4)
+ svn_create_alias_target(external-lz4 PkgConfig::lz4)
set(SVN_LZ4_LIBS ${lz4_LDFLAGS})
else()
find_package(lz4 CONFIG REQUIRED)
- add_library(external-lz4 ALIAS lz4::lz4)
+ svn_create_alias_target(external-lz4 lz4::lz4)
endif()
### UTF8PROC
@@ -622,21 +633,21 @@ if(SVN_USE_INTERNAL_UTF8PROC)
)
elseif(SVN_USE_PKG_CONFIG)
pkg_check_modules(utf8proc REQUIRED IMPORTED_TARGET libutf8proc)
- add_library(external-utf8proc ALIAS PkgConfig::utf8proc)
+ svn_create_alias_target(external-utf8proc PkgConfig::utf8proc)
set(SVN_UTF8PROC_LIBS ${utf8proc_LDFLAGS})
else()
find_package(UTF8PROC REQUIRED)
- add_library(external-utf8proc ALIAS UTF8PROC::UTF8PROC)
+ svn_create_alias_target(external-utf8proc UTF8PROC::UTF8PROC)
endif()
### SQLite3
if(SVN_SQLITE_USE_AMALGAMATION)
find_package(SQLiteAmalgamation REQUIRED)
- add_library(external-sqlite ALIAS SQLite::SQLite3Amalgamation)
+ svn_create_alias_target(external-sqlite SQLite::SQLite3Amalgamation)
elseif(SVN_USE_PKG_CONFIG)
pkg_check_modules(sqlite3 REQUIRED IMPORTED_TARGET sqlite3)
- add_library(external-sqlite ALIAS PkgConfig::sqlite3)
+ svn_create_alias_target(external-sqlite PkgConfig::sqlite3)
else()
# It should be not required.
find_package(SQLite3)
@@ -646,13 +657,14 @@ else()
# In prior versions of cmake, the sqlite targets were exported in the
# SQLite namespace.
if(TARGET SQLite3::SQLite3)
- add_library(external-sqlite ALIAS SQLite3::SQLite3)
+ set(SVN_SQLITE_TARGET SQLite3::SQLite3)
else()
- add_library(external-sqlite ALIAS SQLite::SQLite3)
+ set(SVN_SQLITE_TARGET SQLite::SQLite3)
endif()
+ svn_create_alias_target(external-sqlite ${SVN_SQLITE_TARGET})
else()
find_package(SQLiteAmalgamation REQUIRED)
- add_library(external-sqlite ALIAS SQLite::SQLite3Amalgamation)
+ svn_create_alias_target(external-sqlite SQLite::SQLite3Amalgamation)
# Is implicitness an actual problem? This warning could be removed
# if it isn't.
@@ -667,10 +679,10 @@ endif()
if (SVN_ENABLE_RA_SERF)
if(SVN_USE_PKG_CONFIG)
pkg_search_module(serf IMPORTED_TARGET REQUIRED serf-2 serf-1>=1.3.4)
- add_library(external-serf ALIAS PkgConfig::serf)
+ svn_create_alias_target(external-serf PkgConfig::serf)
else()
find_package(Serf 1.3.4 REQUIRED)
- add_library(external-serf ALIAS Serf::Serf)
+ svn_create_alias_target(external-serf Serf::Serf)
endif()
endif()
@@ -682,7 +694,7 @@ if (SVN_CHECKSUM_BACKEND STREQUAL "apr")
)
elseif (SVN_CHECKSUM_BACKEND STREQUAL "openssl")
find_package(OpenSSL REQUIRED)
- add_library(external-checksum-libs ALIAS OpenSSL::Crypto)
+ svn_create_alias_target(external-checksum-libs OpenSSL::Crypto)
add_private_config_definition(
"Defined if svn should use OpenSSL to compute checksums."
"SVN_CHECKSUM_BACKEND_OPENSSL" "1"
@@ -702,10 +714,10 @@ elseif (SVN_CHECKSUM_BACKEND STREQUAL "b
elseif (SVN_CHECKSUM_BACKEND STREQUAL "xdigest")
if (SVN_USE_PKG_CONFIG)
pkg_check_modules(xdigest REQUIRED IMPORTED_TARGET xdigest)
- add_library(external-checksum-libs ALIAS PkgConfig::xdigest)
+ svn_create_alias_target(external-checksum-libs PkgConfig::xdigest)
else()
find_package(XDIGEST REQUIRED)
- add_library(external-checksum-libs ALIAS XDIGEST::XDIGEST)
+ svn_create_alias_target(external-checksum-libs XDIGEST::XDIGEST)
endif()
add_private_config_definition(