使用cmake"插件"提供的swig_add_library时UseSWIG.cmake如下
swig_add_library (mylib LANGUAGE tcl SOURCES foo.ii)
foo.ii被默默忽略。如果我将foo.ii重命名为foo.i然后重命名
swig_add_library (mylib LANGUAGE tcl SOURCES foo.i)
foo.i按预期处理。 我如何编写我的CMakeLists.txt,以便swig_add_library处理作为其调用参数提供的SOURCES。
答案 0 :(得分:1)
我认为,swig文件的扩展名.i
在UseSwig.cmake宏中是硬编码的(即必需的)。
macro(SWIG_ADD_LIBRARY name)
...
foreach(it ${_SAM_SOURCES})
if(${it} MATCHES "\\.i$")
set(swig_dot_i_sources ${swig_dot_i_sources} "${it}")
...
endforeach()
...
foreach(it ${swig_dot_i_sources})
SWIG_ADD_SOURCE_TO_MODULE(${name} swig_generated_source ${it})
set(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}")
list(APPEND swig_generated_targets "${swig_gen_target}")
endforeach()
src:https://gitlab.kitware.com/cmake/cmake/blob/master/Modules/UseSWIG.cmake#L306