Skip to content
Snippets Groups Projects
Commit f89e7196 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

CMake: move code to SwigLib.cmake

parent 13d77cd3
No related branches found
No related tags found
No related merge requests found
......@@ -28,48 +28,7 @@ set_target_properties(${lib} PROPERTIES PREFIX ${libprefix} SUFFIX ${libsuffix})
set(${lib}_LIBRARY_TYPE SHARED)
if(BORNAGAIN_PYTHON)
if(CONFIGURE_BINDINGS)
set(TMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/Wrap)
file(MAKE_DIRECTORY ${TMP_DIR})
GeneratePythonDocs(${AUTO_DIR}/doxygen${name}.i ${WRAP_DIR}/swig)
set(swig_dependencies
${WRAP_DIR}/swig/lib${lib}.i
${WRAP_DIR}/swig/directors.i
${WRAP_DIR}/swig/extend${name}.i
${WRAP_DIR}/swig/ignores.i
${WRAP_DIR}/swig/shared_pointers.i
${WRAP_DIR}/swig/warnings.i
)
foreach(FNAM ${swig_dependencies})
if(NOT EXISTS ${FNAM})
message(FATAL_ERROR "Could NOT find SWIG input ${FNAM}")
endif()
endforeach()
list(APPEND swig_dependencies ${AUTO_DIR}/doxygen${name}.i)
set(SWIG_FLAGS "-c++;-python;-o;${AUTO_DIR}/lib${lib}_wrap.cpp;-outdir;${TMP_DIR}"
";-I${CMAKE_SOURCE_DIR};-I${CMAKE_BINARY_DIR}/inc")
add_custom_command(
OUTPUT ${AUTO_DIR}/lib${lib}.py
COMMAND ${Python3_EXECUTABLE} ${WRAP_DIR}/swig/tweaks.py
${TMP_DIR}/lib${lib}.py
${AUTO_DIR}/lib${lib}.py
DEPENDS ${TMP_DIR}/lib${lib}.py
)
add_custom_command(
OUTPUT ${TMP_DIR}/lib${lib}.py
${AUTO_DIR}/lib${lib}_wrap.h
${AUTO_DIR}/lib${lib}_wrap.cpp
COMMAND ${SWIG_EXECUTABLE} ${SWIG_FLAGS} ${WRAP_DIR}/swig/lib${lib}.i
DEPENDS ${swig_dependencies} ${include_files}
)
endif(CONFIGURE_BINDINGS)
SwigLib(${name} ${lib} ${CMAKE_CURRENT_BINARY_DIR}/Wrap)
add_custom_target(
${lib}_python
......
......@@ -21,48 +21,7 @@ set_target_properties(${lib} PROPERTIES PREFIX ${libprefix} SUFFIX ${libsuffix})
set(${lib}_LIBRARY_TYPE SHARED)
if(BORNAGAIN_PYTHON)
if(CONFIGURE_BINDINGS)
set(TMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/Wrap)
file(MAKE_DIRECTORY ${TMP_DIR})
GeneratePythonDocs(${AUTO_DIR}/doxygen${name}.i ${WRAP_DIR}/swig)
set(swig_dependencies
${WRAP_DIR}/swig/lib${lib}.i
${WRAP_DIR}/swig/directors.i
${WRAP_DIR}/swig/extend${name}.i
${WRAP_DIR}/swig/ignores.i
${WRAP_DIR}/swig/shared_pointers.i
${WRAP_DIR}/swig/warnings.i
)
foreach(FNAM ${swig_dependencies})
if(NOT EXISTS ${FNAM})
message(FATAL_ERROR "Could NOT find SWIG input ${FNAM}")
endif()
endforeach()
list(APPEND swig_dependencies ${AUTO_DIR}/doxygen${name}.i)
set(SWIG_FLAGS "-c++;-python;-o;${AUTO_DIR}/lib${lib}_wrap.cpp;-outdir;${TMP_DIR}"
";-I${CMAKE_SOURCE_DIR};-I${CMAKE_BINARY_DIR}/inc")
add_custom_command(
OUTPUT ${AUTO_DIR}/lib${lib}.py
COMMAND ${Python3_EXECUTABLE} ${WRAP_DIR}/swig/tweaks.py
${TMP_DIR}/lib${lib}.py
${AUTO_DIR}/lib${lib}.py
DEPENDS ${TMP_DIR}/lib${lib}.py
)
add_custom_command(
OUTPUT ${TMP_DIR}/lib${lib}.py
${AUTO_DIR}/lib${lib}_wrap.h
${AUTO_DIR}/lib${lib}_wrap.cpp
COMMAND ${SWIG_EXECUTABLE} ${SWIG_FLAGS} ${WRAP_DIR}/swig/lib${lib}.i
DEPENDS ${swig_dependencies} ${include_files}
)
endif(CONFIGURE_BINDINGS)
SwigLib(${name} ${lib} ${CMAKE_CURRENT_BINARY_DIR}/Wrap)
add_custom_target(
${lib}_python
......
function(SwigLib name lib)
function(SwigLib name lib TMP_DIR)
if(NOT BORNAGAIN_PYTHON)
return()
message(FATAL_ERROR "Function SwigLib called though BORNAGAIN_PYTHON=false")
endif()
if(CONFIGURE_BINDINGS)
file(MAKE_DIRECTORY ${TMP_DIR})
GeneratePythonDocs(${AUTO_DIR}/doxygen${name}.i ${WRAP_DIR}/swig)
set(swig_dependencies
${WRAP_DIR}/swig/lib${lib}.i
${WRAP_DIR}/swig/directors.i
${WRAP_DIR}/swig/extend${name}.i
${WRAP_DIR}/swig/ignores.i
${WRAP_DIR}/swig/shared_pointers.i
${WRAP_DIR}/swig/warnings.i
)
foreach(FNAM ${swig_dependencies})
if(NOT EXISTS ${FNAM})
message(FATAL_ERROR "Could NOT find SWIG input ${FNAM}")
endif()
endforeach()
list(APPEND swig_dependencies ${AUTO_DIR}/doxygen${name}.i)
set(SWIG_FLAGS "-c++;-python;-o;${AUTO_DIR}/lib${lib}_wrap.cpp;-outdir;${TMP_DIR}"
";-I${CMAKE_SOURCE_DIR};-I${CMAKE_BINARY_DIR}/inc")
add_custom_command(
OUTPUT ${AUTO_DIR}/lib${lib}.py
COMMAND ${Python3_EXECUTABLE} ${WRAP_DIR}/swig/tweaks.py
${TMP_DIR}/lib${lib}.py
${AUTO_DIR}/lib${lib}.py
DEPENDS ${TMP_DIR}/lib${lib}.py
)
add_custom_command(
OUTPUT ${TMP_DIR}/lib${lib}.py
${AUTO_DIR}/lib${lib}_wrap.h
${AUTO_DIR}/lib${lib}_wrap.cpp
COMMAND ${SWIG_EXECUTABLE} ${SWIG_FLAGS} ${WRAP_DIR}/swig/lib${lib}.i
DEPENDS ${swig_dependencies} ${include_files}
)
endif(CONFIGURE_BINDINGS)
endfunction()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment