Przeglądaj źródła

UseSWIG: ensure directory for depfile exists

When `Visual Studio` and `Xcode` generators are used, directory for depfile
is not implicitely created by CMake when OUTFILE_DIR option is used.

Fixes: #22932
Marc Chevrier 4 lat temu
rodzic
commit
7224eb5185
2 zmienionych plików z 2 dodań i 1 usunięć
  1. 1 1
      Modules/UseSWIG.cmake
  2. 1 0
      Tests/UseSWIG/CMakeLists.txt

+ 1 - 1
Modules/UseSWIG.cmake

@@ -676,7 +676,7 @@ function(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
     ${swig_custom_products}
     ${swig_cleanup_command}
     # Let's create the ${outdir} at execution time, in case dir contains $(OutDir)
-    COMMAND "${CMAKE_COMMAND}" -E make_directory ${outdir} ${outfiledir}
+    COMMAND "${CMAKE_COMMAND}" -E make_directory "${workingdir}" "${outdir}" "${outfiledir}"
     ${swig_timestamp_command}
     COMMAND "${CMAKE_COMMAND}" -E env "SWIG_LIB=${SWIG_DIR}" "${SWIG_EXECUTABLE}"
     "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"

+ 1 - 0
Tests/UseSWIG/CMakeLists.txt

@@ -76,6 +76,7 @@ if(SWIG_FOUND AND NOT SWIG_VERSION VERSION_LESS "4.0.2"
     ${build_generator_args}
     --build-project TestBasicPython
     --build-options ${build_options} -DSWIG_USE_SWIG_DEPENDENCIES=ON
+                                     "-DSWIG_OUTFILE_DIR=${CMake_BINARY_DIR}/Tests/UseSWIG/BasicPython.Depfile"
     --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
     )
   add_test(NAME UseSWIG.Depfile.BasicPerl COMMAND