summaryrefslogtreecommitdiffstats
path: root/Modules/UseSWIG.cmake
diff options
context:
space:
mode:
authorBen Webb <ben@salilab.org>2015-09-04 21:33:37 (GMT)
committerBrad King <brad.king@kitware.com>2015-09-09 14:01:06 (GMT)
commit96a8890c7d5c8fed7b5c48bc9640c94f8fd66761 (patch)
treeae32d297d09b76bb95297a6600b15591c2bce447 /Modules/UseSWIG.cmake
parent0e7f34c0a9a6ad8dbcdad32910d87b8d8671cd51 (diff)
downloadCMake-96a8890c7d5c8fed7b5c48bc9640c94f8fd66761.zip
CMake-96a8890c7d5c8fed7b5c48bc9640c94f8fd66761.tar.gz
CMake-96a8890c7d5c8fed7b5c48bc9640c94f8fd66761.tar.bz2
FindSWIG: Do not generate erroneous outputs with -noproxy
Generally for a module foo, SWIG generates (in Python mode) an extension module _foo.so and a proxy Python module foo.py. However, if -noproxy is specified, instead it builds only foo.so (without the leading underscore). The custom command generated by CMake correctly handles the removal of this underscore when -noproxy is given; however, it still adds foo.py to the expected outputs. This upsets build tools that expect foo.py to be generated (for example, 'make' will run the SWIG command twice). Fix this by removing foo.py from the set of extra generated files when -noproxy is specified.
Diffstat (limited to 'Modules/UseSWIG.cmake')
-rw-r--r--Modules/UseSWIG.cmake10
1 files changed, 6 insertions, 4 deletions
diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake
index 96b0b35..d757f65 100644
--- a/Modules/UseSWIG.cmake
+++ b/Modules/UseSWIG.cmake
@@ -153,10 +153,12 @@ macro(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
else()
set(swig_outdir ${CMAKE_CURRENT_BINARY_DIR})
endif()
- SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE}
- swig_extra_generated_files
- "${swig_outdir}"
- "${swig_source_file_fullname}")
+ if (NOT SWIG_MODULE_${name}_NOPROXY)
+ SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE}
+ swig_extra_generated_files
+ "${swig_outdir}"
+ "${swig_source_file_fullname}")
+ endif()
set(swig_generated_file_fullname
"${swig_outdir}/${swig_source_file_name_we}")
# add the language into the name of the file (i.e. TCL_wrap)