svn commit: r1936528 - in subversion/trunk: . build/generator/templates

[email protected] Thu, 23 Jul 2026 16:31:38 -0000
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <178482429851.1442188.1286875653187502439@svn03-he-fi>
Author: jun66j5
Date: Thu Jul 23 16:31:38 2026
New Revision: 1936528

Log:
cmake: Follow-up to r1936396, Use `install(TARGETS)` instead of
`install(DIRECTORY)` for the extension modules of bindings. We must not simply
copy files from the build directory because the RPATH differs between the build
targets and the installed files.

* CMakeLists.txt
  (swig-perl, swig-python, swig-ruby):
    Remove `install(DIRECTORY)` for the extension files of SWIG bindings.

* build/generator/templates/targets.cmake.ezt
  (swig-perl, swig-python, swig-ruby):
    Use `install(TARGETS)` for the extension files of SWIG bindings.

Modified:
   subversion/trunk/CMakeLists.txt
   subversion/trunk/build/generator/templates/targets.cmake.ezt

Modified: subversion/trunk/CMakeLists.txt
==============================================================================
--- subversion/trunk/CMakeLists.txt	Thu Jul 23 14:45:33 2026	(r1936527)
+++ subversion/trunk/CMakeLists.txt	Thu Jul 23 16:31:38 2026	(r1936528)
@@ -943,8 +943,6 @@ if(SVN_ENABLE_SWIG_PYTHON)
     FILES_MATCHING
       PATTERN "__pycache__" EXCLUDE
       PATTERN "*.py"
-      PATTERN "*.so"
-      PATTERN "*.pyd"
   )
   install(CODE [==[
     execute_process(
@@ -1018,11 +1016,6 @@ if(SVN_ENABLE_SWIG_PERL)
     DESTINATION "${SVN_SWIG_PERL_SITEARCH}/SVN"
     FILES_MATCHING PATTERN "*.pm"
   )
-  install(
-    DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/swig-perl/lib/auto/SVN/"
-    DESTINATION "${SVN_SWIG_PERL_SITEARCH}/auto/SVN"
-    FILES_MATCHING PATTERN "*.so"
-  )
   if(SVN_ENABLE_SWIG_PERL_MAN_PAGES)
     install(
       DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/swig-perl/man/"
@@ -1074,11 +1067,6 @@ if(SVN_ENABLE_SWIG_RUBY)
     DESTINATION "${SVN_SWIG_RUBY_SITELIB}/svn"
     FILES_MATCHING PATTERN "*.rb"
   )
-  install(
-    DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/swig-ruby/svn/ext/"
-    DESTINATION "${SVN_SWIG_RUBY_SITEARCH}/svn/ext"
-    FILES_MATCHING PATTERN "*.so"
-  )
 
   add_test(
     NAME swig-ruby

Modified: subversion/trunk/build/generator/templates/targets.cmake.ezt
==============================================================================
--- subversion/trunk/build/generator/templates/targets.cmake.ezt	Thu Jul 23 14:45:33 2026	(r1936527)
+++ subversion/trunk/build/generator/templates/targets.cmake.ezt	Thu Jul 23 16:31:38 2026	(r1936528)
@@ -57,6 +57,11 @@ if ([targets.enable_condition])[is targe
   target_link_libraries([targets.name] PRIVATE[for targets.libs]
     [targets.libs][end]
     external-[targets.swig_lang]
+  )
+  install(TARGETS [targets.name] LIBRARY DESTINATION[is targets.swig_lang "python"]
+    "${SVN_SWIG_PYTHON_SITEARCH}/libsvn"[end][is targets.swig_lang "perl"]
+    "${SVN_SWIG_PERL_SITEARCH}/auto/SVN"[end][is targets.swig_lang "ruby"]
+    "${SVN_SWIG_RUBY_SITEARCH}/svn/ext"[end]
   )[else][is targets.type "lib"]
   add_library([targets.name][if-any targets.build_type] [targets.build_type][end][for targets.sources]
     [targets.sources][end]