diff options
author | Tom Rondeau <trondeau@vt.edu> | 2013-04-05 12:32:37 -0400 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2013-04-05 12:32:37 -0400 |
commit | 318660963ef29a7afa6372f6d636d16a7139ed3e (patch) | |
tree | 255bca2506a9af93d5f6cd6f5ca931411821c2b5 /gr-blocks/swig/CMakeLists.txt | |
parent | e772651919d7fd64d80f8b618bfcf73f4384c068 (diff) | |
parent | 2bb44bd7864e2f4033d522a9e6d88c732e6471f3 (diff) |
Merge branch 'master' into next
Conflicts:
docs/doxygen/CMakeLists.txt
gr-blocks/swig/CMakeLists.txt
Diffstat (limited to 'gr-blocks/swig/CMakeLists.txt')
-rw-r--r-- | gr-blocks/swig/CMakeLists.txt | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/gr-blocks/swig/CMakeLists.txt b/gr-blocks/swig/CMakeLists.txt index 8a7327b0a2..ed74dfab9e 100644 --- a/gr-blocks/swig/CMakeLists.txt +++ b/gr-blocks/swig/CMakeLists.txt @@ -28,32 +28,59 @@ set(GR_SWIG_INCLUDE_DIRS ${GR_BLOCKS_INCLUDE_DIRS} ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} - ${ICE_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ) if(ENABLE_GR_CTRLPORT) - SET(GR_SWIG_FLAGS "-DGR_CTRLPORT") + list(APPEND GR_SWIG_FLAGS "-DGR_CTRLPORT") + list(APPEND GR_SWIG_INCLUDE_DIRS ${ICE_INCLUDE_DIR}) endif(ENABLE_GR_CTRLPORT) -set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/blocks_swig_doc.i) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/blocks_swig.py.in + ${CMAKE_CURRENT_BINARY_DIR}/blocks_swig.py +@ONLY) + set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/blocks) -set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc) set(GR_SWIG_TARGET_DEPS blocks_generated_includes) set(GR_SWIG_LIBRARIES gnuradio-blocks) -GR_SWIG_MAKE(blocks_swig blocks_swig.i) +# We split up the swig files into multiple sections to minimize the +# memory overhead. If a .i file grows too large, create a new file +# named 'blocks_swigN.i' and add it to this list. +# +# Also add the line "from swig_blocksN import *" line to +# blocks_swig.py.in. +set(GR_SWIG_BLOCK_IFILES + blocks_swig0 + blocks_swig1 + blocks_swig2 +) + +foreach(swigfile ${GR_SWIG_BLOCK_IFILES}) + set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) + GR_SWIG_MAKE(${swigfile} ${swigfile}.i) -GR_SWIG_INSTALL( - TARGETS blocks_swig + GR_SWIG_INSTALL( + TARGETS ${swigfile} DESTINATION ${GR_PYTHON_DIR}/gnuradio/blocks - COMPONENT "blocks_python" -) + COMPONENT "blocks_python") + + list(APPEND SWIGFILES ${swigfile}.i) + list(APPEND SWIGDOCFILES ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) +endforeach(swigfile) install( FILES - blocks_swig.i - ${CMAKE_CURRENT_BINARY_DIR}/blocks_swig_doc.i + ${SWIGFILES} + ${SWIGDOCFILES} DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig COMPONENT "blocks_swig" ) + +# Install the Python file that pulls in the swig built files. +GR_PYTHON_INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/blocks_swig.py + DESTINATION ${GR_PYTHON_DIR}/gnuradio/blocks + COMPONENT "blocks_python" +) |