diff options
Diffstat (limited to 'gr-digital/swig/CMakeLists.txt')
-rw-r--r-- | gr-digital/swig/CMakeLists.txt | 87 |
1 files changed, 56 insertions, 31 deletions
diff --git a/gr-digital/swig/CMakeLists.txt b/gr-digital/swig/CMakeLists.txt index 2f00dc14a3..fb13d3e402 100644 --- a/gr-digital/swig/CMakeLists.txt +++ b/gr-digital/swig/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011-2016 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -24,47 +24,72 @@ include(GrPython) include(GrSwig) set(GR_SWIG_INCLUDE_DIRS - ${GR_DIGITAL_INCLUDE_DIRS} - ${GR_BLOCKS_INCLUDE_DIRS} - ${GR_ANALOG_INCLUDE_DIRS} - ${GR_FFT_INCLUDE_DIRS} - ${GR_FILTER_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} + ${GR_DIGITAL_INCLUDE_DIRS} + ${GR_BLOCKS_INCLUDE_DIRS} + ${GR_ANALOG_INCLUDE_DIRS} + ${GR_FFT_INCLUDE_DIRS} + ${GR_FILTER_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} + ${VOLK_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} ) if(ENABLE_GR_CTRLPORT) list(APPEND GR_SWIG_FLAGS "-DGR_CTRLPORT") endif(ENABLE_GR_CTRLPORT) -# Setup swig docs to depend on includes and pull in from build directory -set(GR_SWIG_TARGET_DEPS digital_generated_includes) -set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/digital_swig_doc.i) -set(GR_SWIG_DOC_DIRS +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/digital_swig.py.in + ${CMAKE_CURRENT_BINARY_DIR}/digital_swig.py +@ONLY) + +# 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 'digital_swigN.i' and add it to this list. +# +# Also add the line "from swig_blocksN import *" line to +# digital_swig.py.in. +set(GR_SWIG_BLOCK_IFILES + digital_swig0 + digital_swig1 + digital_swig2 +) + +foreach(swigfile ${GR_SWIG_BLOCK_IFILES}) + set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) + set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/gnuradio/digital ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/digital -) -set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc) + ) + set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc) + set(GR_SWIG_TARGET_DEPS digital_generated_includes) + set(GR_SWIG_LIBRARIES gnuradio-digital + gnuradio-filter gnuradio-analog gnuradio-blocks) + GR_SWIG_MAKE(${swigfile} ${swigfile}.i) -set(GR_SWIG_LIBRARIES gnuradio-digital - gnuradio-filter gnuradio-analog gnuradio-blocks) + GR_SWIG_INSTALL( + TARGETS ${swigfile} + DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital + COMPONENT "digital_python") -GR_SWIG_MAKE(digital_swig digital_swig.i) + list(APPEND SWIGFILES ${swigfile}.i) + list(APPEND SWIGDOCFILES ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) +endforeach(swigfile) -GR_SWIG_INSTALL( - TARGETS digital_swig - DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital - COMPONENT "digital_python" +install( + FILES + ${SWIGFILES} + constellation.i + ofdm_equalizer.i + packet_header.i + ${SWIGDOCFILES} + DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig + COMPONENT "digital_swig" ) -install( - FILES - digital_swig.i - constellation.i - ofdm_equalizer.i - packet_header.i - ${CMAKE_CURRENT_BINARY_DIR}/digital_swig_doc.i - DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig - COMPONENT "digital_swig" +# Install the Python file that pulls in the swig built files. +GR_PYTHON_INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/digital_swig.py + DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital + COMPONENT "digital_python" ) |