mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-15 20:46:37 +08:00
UseSWIG: use swig dependencies for Xcode generator
This commit is contained in:
6
Help/release/dev/UseSWIG-dependencies.rst
Normal file
6
Help/release/dev/UseSWIG-dependencies.rst
Normal file
@@ -0,0 +1,6 @@
|
||||
UseSWIG-dependencies
|
||||
--------------------
|
||||
|
||||
* :module:`UseSWIG` module gained the capability, for
|
||||
:generator:`Xcode` generator, to use `swig` tool to generate implicit
|
||||
dependencies.
|
@@ -191,8 +191,12 @@ ensure generated files will receive the required settings.
|
||||
|
||||
If set to ``TRUE``, implicit dependencies are generated by the ``swig`` tool
|
||||
itself. This property is only meaningful for
|
||||
:ref:`Makefile <Makefile Generators>` and
|
||||
:ref:`Ninja <Ninja Generators>` generators. Default value is ``FALSE``.
|
||||
:ref:`Makefile <Makefile Generators>`,
|
||||
:ref:`Ninja <Ninja Generators>` and :generator:`Xcode` generators. Default
|
||||
value is ``FALSE``.
|
||||
|
||||
.. versionadded:: 3.21
|
||||
Added the support of :generator:`Xcode` generator.
|
||||
|
||||
``SWIG_MODULE_NAME``
|
||||
Specify the actual import name of the module in the target language.
|
||||
@@ -336,12 +340,17 @@ as well as ``SWIG``:
|
||||
.. versionadded:: 3.20
|
||||
|
||||
If set to ``TRUE``, implicit dependencies are generated by the ``swig`` tool
|
||||
itself. This property is only meaningful for
|
||||
:ref:`Makefile <Makefile Generators>` and
|
||||
:ref:`Ninja <Ninja Generators>` generators. Default value is ``FALSE``.
|
||||
itself. This variable is only meaningful for
|
||||
:ref:`Makefile <Makefile Generators>`,
|
||||
:ref:`Ninja <Ninja Generators>` and :generator:`Xcode` generators. Default
|
||||
value is ``FALSE``.
|
||||
|
||||
Source file property ``USE_SWIG_DEPENDENCIES``, if not defined, will be
|
||||
initialized with the value of this variable.
|
||||
|
||||
.. versionadded:: 3.21
|
||||
Added the support of :generator:`Xcode` generator.
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
cmake_policy(PUSH)
|
||||
@@ -506,7 +515,7 @@ function(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
|
||||
endif()
|
||||
|
||||
set (use_swig_dependencies ${SWIG_USE_SWIG_DEPENDENCIES})
|
||||
if (CMAKE_GENERATOR MATCHES "Make|Ninja")
|
||||
if (CMAKE_GENERATOR MATCHES "Make|Ninja|Xcode")
|
||||
get_property(use_swig_dependencies_set SOURCE "${infile}" PROPERTY USE_SWIG_DEPENDENCIES SET)
|
||||
if (use_swig_dependencies_set)
|
||||
get_property(use_swig_dependencies SOURCE "${infile}" PROPERTY USE_SWIG_DEPENDENCIES)
|
||||
@@ -831,7 +840,7 @@ function(SWIG_ADD_LIBRARY name)
|
||||
set(SWIG_SOURCE_FILE_EXTENSIONS ".i")
|
||||
endif()
|
||||
|
||||
if (CMAKE_GENERATOR MATCHES "Make|Ninja")
|
||||
if (CMAKE_GENERATOR MATCHES "Make|Ninja|Xcode")
|
||||
# For Makefiles and Ninja generators, use SWIG generated dependencies
|
||||
if (NOT DEFINED SWIG_USE_SWIG_DEPENDENCIES)
|
||||
set (SWIG_USE_SWIG_DEPENDENCIES OFF)
|
||||
|
@@ -66,7 +66,8 @@ add_test(NAME UseSWIG.BasicPerl COMMAND
|
||||
--build-options ${build_options}
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
if(SWIG_FOUND AND NOT SWIG_VERSION VERSION_LESS "4.0.2")
|
||||
if(SWIG_FOUND AND NOT SWIG_VERSION VERSION_LESS "4.0.2"
|
||||
AND CMAKE_GENERATOR MATCHES "Make|Ninja|Xcode")
|
||||
add_test(NAME UseSWIG.Depfile.BasicPython COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
|
Reference in New Issue
Block a user