On 2026/05/05 17:45, Timofei Zhakov wrote:
> On Tue, May 5, 2026 at 1:38 AM Jun Omae <[email protected]> wrote:
>>
>> On 2026/05/05 0:09, [email protected] wrote:
>>> Author: rinrab
>>> Date: Mon May  4 15:09:48 2026
>>> New Revision: 1933812
>>>
>>> Log:
>>> cmake: Import targets.cmake before processing dependencies; This would allow
>>> potentially refering to those targets in dependency search. Although cmake
>>> allows to link a non-existing target, the target that it is linked to has 
>>> to be
>>> declared before.
>>>
>>> * CMakeLists.txt
>>>   (target_exports, ra-libs, fs-libs, the-include): Move them up.
>>>
>>> Modified:
>>>    subversion/trunk/CMakeLists.txt
>> After r1933812, cmake is failing with SVN_ENABLE_SWIG_* options.
>>
>> [[[
>> CMake Error at build/cmake/targets.cmake:2626 (swig_add_library):
>>   Unknown CMake command "swig_add_library".
>> Call Stack (most recent call first):
>>   CMakeLists.txt:290 (include)
>> ]]]
> 
> Oopsie, should be fixed in r1933842.


Thanks. However, builds of *.i files are failing....

[[[
cd /home/jun66j5/src/subversion.git/out && /usr/bin/cmake -E make_directory 
/home/jun66j5/src/subversion.git/out/CMakeFiles/python_delta.dir 
/home/jun66j5/src/subversion.git/out/PythonPackages/libsvn 
/home/jun66j5/src/subversion.git/out/PythonPackages/libsvn && /usr/bin/cmake -E 
env SWIG_LIB= /home/jun66j5/swig/4.4.1/bin/swig -python -nofastunpack -outdir 
/home/jun66j5/src/subversion.git/out/PythonPackages/libsvn -interface _delta -o 
/home/jun66j5/src/subversion.git/out/PythonPackages/libsvn/svn_deltaPYTHON_wrap.c
 /home/jun66j5/src/subversion.git/subversion/bindings/swig/svn_delta.i
/home/jun66j5/src/subversion.git/subversion/bindings/swig/svn_delta.i:24: 
Error: Unable to find 'svn_global.swg'
/home/jun66j5/src/subversion.git/subversion/bindings/swig/core.i:26: Error: 
Unable to find 'svn_global.swg'
/home/jun66j5/src/subversion.git/subversion/bindings/swig/core.i:827: Error: 
Unable to find 'svn_error_codes_h.swg'
/home/jun66j5/src/subversion.git/subversion/bindings/swig/core.i:828: Error: 
Unable to find 'svn_time_h.swg'
...
]]]

The SWIG_INCLUDE_DIRECTORIES variable is used from targets.cmake
but it appears that the variable is modified after include(targets.cmake).

Ad hoc patch:

[[[
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c161b7030..0ba7d260e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -231,6 +231,14 @@ endif()

 if (SVN_ENABLE_SWIG_PERL OR SVN_ENABLE_SWIG_PYTHON OR SVN_ENABLE_SWIG_RUBY)
   include(UseSWIG)
+  set(SWIG_INCLUDE_DIRECTORIES
+    ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/include
+    ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig
+    ${CMAKE_CURRENT_SOURCE_DIR}/subversion/include
+
+    ${CMAKE_CURRENT_BINARY_DIR}/subversion/bindings/swig/proxy
+    ${CMAKE_CURRENT_BINARY_DIR}
+  )
 endif()

 # Setup modules path
@@ -559,15 +567,6 @@ if(SVN_ENABLE_SWIG_PERL OR SVN_ENABLE_SWIG_PYTHON OR 
SVN_ENABLE_SWIG_RUBY)

   file(MAKE_DIRECTORY 
"${CMAKE_CURRENT_BINARY_DIR}/subversion/bindings/swig/proxy")

-  set(SWIG_INCLUDE_DIRECTORIES
-    ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/include
-    ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig
-    ${CMAKE_CURRENT_SOURCE_DIR}/subversion/include
-
-    ${CMAKE_CURRENT_BINARY_DIR}/subversion/bindings/swig/proxy
-    ${CMAKE_CURRENT_BINARY_DIR}
-  )
-
   add_library(external-swig INTERFACE)

   file(GLOB swig_headers_input 
"${CMAKE_CURRENT_SOURCE_DIR}/subversion/include/*.h")
]]]

-- 
Jun Omae <[email protected]> (大前 潤)

Reply via email to