summaryrefslogtreecommitdiff
path: root/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake')
-rw-r--r--gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake21
1 files changed, 17 insertions, 4 deletions
diff --git a/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake b/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake
index 0fa1c7b770..4be583aa15 100644
--- a/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake
+++ b/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake
@@ -47,9 +47,19 @@ macro(GR_SWIG_MAKE name)
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
+ #Create a dummy custom command that depends on other targets
+ include(GrMiscUtils)
+ GR_GEN_TARGET_DEPS(_${name}_swig_tag tag_deps ${GR_SWIG_TARGET_DEPS})
+ set(tag_file ${CMAKE_CURRENT_BINARY_DIR}/${name}.tag)
+ add_custom_command(
+ OUTPUT ${tag_file}
+ DEPENDS ${GR_SWIG_SOURCE_DEPS} ${tag_deps}
+ COMMAND ${CMAKE_COMMAND} -E touch ${tag_file}
+ )
+
#append the specified include directories
include_directories(${GR_SWIG_INCLUDE_DIRS})
- list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${GR_SWIG_SOURCE_DEPS})
+ list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${tag_file})
find_package(PythonLibs)
include_directories(${PYTHON_INCLUDE_DIRS})
@@ -67,9 +77,6 @@ macro(GR_SWIG_MAKE name)
include(UseSWIG)
SWIG_ADD_MODULE(${name} python ${ifiles})
SWIG_LINK_LIBRARIES(${name} ${PYTHON_LIBRARIES} ${GR_SWIG_LIBRARIES})
- if(GR_SWIG_TARGET_DEPS)
- add_dependencies(${SWIG_MODULE_${name}_REAL_NAME} ${GR_SWIG_TARGET_DEPS})
- endif(GR_SWIG_TARGET_DEPS)
endmacro(GR_SWIG_MAKE)
@@ -97,6 +104,12 @@ macro(GR_SWIG_INSTALL)
DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
)
+
+ GR_LIBTOOL(
+ TARGET ${SWIG_MODULE_${name}_REAL_NAME}
+ DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
+ )
+
endforeach(name)
endmacro(GR_SWIG_INSTALL)