ENH: add ability to set outdir in swig
This commit is contained in:
parent
bcd62c8091
commit
1c3d7a9662
@ -15,6 +15,8 @@
|
|||||||
# Set Source files propertis such as CPLUSPLUS and SWIG_FLAGS to specify
|
# Set Source files propertis such as CPLUSPLUS and SWIG_FLAGS to specify
|
||||||
# special behavior of SWIG. Also global CMAKE_SWIG_FLAGS can be used to add
|
# special behavior of SWIG. Also global CMAKE_SWIG_FLAGS can be used to add
|
||||||
# special flags to all swig calls.
|
# special flags to all swig calls.
|
||||||
|
# Another special variable is CMAKE_SWIG_OUTDIR, it allows one to specify
|
||||||
|
# where to write all the swig generated module (swig -outdir option)
|
||||||
|
|
||||||
SET(SWIG_CXX_EXTENSION "cxx")
|
SET(SWIG_CXX_EXTENSION "cxx")
|
||||||
SET(SWIG_EXTRA_LIBRARIES "")
|
SET(SWIG_EXTRA_LIBRARIES "")
|
||||||
@ -133,19 +135,38 @@ MACRO(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
|
|||||||
IF(SWIG_MODULE_${name}_EXTRA_FLAGS)
|
IF(SWIG_MODULE_${name}_EXTRA_FLAGS)
|
||||||
SET(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS})
|
SET(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS})
|
||||||
ENDIF(SWIG_MODULE_${name}_EXTRA_FLAGS)
|
ENDIF(SWIG_MODULE_${name}_EXTRA_FLAGS)
|
||||||
ADD_CUSTOM_COMMAND(
|
# If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir
|
||||||
OUTPUT "${swig_generated_file_fullname}"
|
IF(CMAKE_SWIG_OUTDIR)
|
||||||
COMMAND "${SWIG_EXECUTABLE}"
|
ADD_CUSTOM_COMMAND(
|
||||||
ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
|
OUTPUT "${swig_generated_file_fullname}"
|
||||||
${swig_source_file_flags}
|
COMMAND "${SWIG_EXECUTABLE}"
|
||||||
${CMAKE_SWIG_FLAGS}
|
ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
|
||||||
${swig_special_flags}
|
${swig_source_file_flags}
|
||||||
${swig_extra_flags}
|
${CMAKE_SWIG_FLAGS}
|
||||||
${swig_include_dirs}
|
-outdir ${CMAKE_SWIG_OUTDIR}
|
||||||
-o "${swig_generated_file_fullname}"
|
${swig_special_flags}
|
||||||
"${swig_source_file_fullname}"
|
${swig_extra_flags}
|
||||||
MAIN_DEPENDENCY "${swig_source_file_fullname}"
|
${swig_include_dirs}
|
||||||
COMMENT "Swig source")
|
-o "${swig_generated_file_fullname}"
|
||||||
|
"${swig_source_file_fullname}"
|
||||||
|
MAIN_DEPENDENCY "${swig_source_file_fullname}"
|
||||||
|
COMMENT "Swig source")
|
||||||
|
ELSE(CMAKE_SWIG_OUTDIR)
|
||||||
|
ADD_CUSTOM_COMMAND(
|
||||||
|
OUTPUT "${swig_generated_file_fullname}"
|
||||||
|
COMMAND "${SWIG_EXECUTABLE}"
|
||||||
|
ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
|
||||||
|
${swig_source_file_flags}
|
||||||
|
${CMAKE_SWIG_FLAGS}
|
||||||
|
${swig_outdir_flags}
|
||||||
|
${swig_special_flags}
|
||||||
|
${swig_extra_flags}
|
||||||
|
${swig_include_dirs}
|
||||||
|
-o "${swig_generated_file_fullname}"
|
||||||
|
"${swig_source_file_fullname}"
|
||||||
|
MAIN_DEPENDENCY "${swig_source_file_fullname}"
|
||||||
|
COMMENT "Swig source")
|
||||||
|
ENDIF(CMAKE_SWIG_OUTDIR)
|
||||||
SET_SOURCE_FILES_PROPERTIES("${swig_generated_file_fullname}"
|
SET_SOURCE_FILES_PROPERTIES("${swig_generated_file_fullname}"
|
||||||
PROPERTIES GENERATED 1)
|
PROPERTIES GENERATED 1)
|
||||||
SET(${outfiles} "${swig_generated_file_fullname}")
|
SET(${outfiles} "${swig_generated_file_fullname}")
|
||||||
@ -192,3 +213,4 @@ MACRO(SWIG_LINK_LIBRARIES name)
|
|||||||
MESSAGE(SEND_ERROR "Cannot find Swig library \"${name}\".")
|
MESSAGE(SEND_ERROR "Cannot find Swig library \"${name}\".")
|
||||||
ENDIF(SWIG_MODULE_${name}_REAL_NAME)
|
ENDIF(SWIG_MODULE_${name}_REAL_NAME)
|
||||||
ENDMACRO(SWIG_LINK_LIBRARIES name)
|
ENDMACRO(SWIG_LINK_LIBRARIES name)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user