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]> (大前 潤)