Author: jun66j5
Date: Sat Jul 18 10:56:19 2026
New Revision: 1936288

Log:
cmake: Fix building swig-rb fails with MSVC on Windows.

* CMakeLists.txt
  (swig-rb): Add `swigutil_rb__pre_ruby.h` as forced includes for the MSVC
  compiler and `SVN_SWIG_RUBY__CUSTOM_RUBY_CONFIG` macro for WIN32 environment.
  See also `_find_ruby` method in build/generator/gen_win_dependencies.py.

Modified:
   subversion/trunk/CMakeLists.txt

Modified: subversion/trunk/CMakeLists.txt
==============================================================================
--- subversion/trunk/CMakeLists.txt     Sat Jul 18 08:30:12 2026        
(r1936287)
+++ subversion/trunk/CMakeLists.txt     Sat Jul 18 10:56:19 2026        
(r1936288)
@@ -860,7 +860,13 @@ if(SVN_ENABLE_SWIG_RUBY)
     ${SWIG_INCLUDE_DIRECTORIES}
     ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/ruby/libsvn_swig_ruby
   )
-  target_compile_definitions(external-ruby INTERFACE HAVE_RB_ERRINFO)
+  target_compile_options(external-ruby INTERFACE
+    $<$<C_COMPILER_ID:MSVC>:/FIswigutil_rb__pre_ruby.h>
+  )
+  target_compile_definitions(external-ruby INTERFACE
+    HAVE_RB_ERRINFO
+    $<$<BOOL:${WIN32}>:SVN_SWIG_RUBY__CUSTOM_RUBY_CONFIG>
+  )
   target_link_libraries(external-ruby INTERFACE ${Ruby_LIBRARY})
 
   swig_target_external_runtime(external-ruby ruby)

Reply via email to