blob: 476622058b2e7ba9d70538bb1e76168e6f53e026 [file] [log] [blame]
piotr437f5462014-02-04 17:57:25 +01001# Copyright 2011 Free Software Foundation, Inc.
2#
3# This file is part of GNU Radio
4#
5# GNU Radio is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 3, or (at your option)
8# any later version.
9#
10# GNU Radio is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with GNU Radio; see the file COPYING. If not, write to
17# the Free Software Foundation, Inc., 51 Franklin Street,
18# Boston, MA 02110-1301, USA.
19
20########################################################################
piotr437f5462014-02-04 17:57:25 +010021# Include swig generation macros
22########################################################################
23find_package(SWIG)
24find_package(PythonLibs 2)
25if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND)
26 return()
27endif()
28include(GrSwig)
29include(GrPython)
30
iZsh868abf72015-08-16 13:50:20 +020031IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
32 # Mac OS X specific code
33 # Without this flag it does not find some of the libraries
34 SET(CMAKE_MODULE_LINKER_FLAGS "-undefined dynamic_lookup")
35ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
36
piotr437f5462014-02-04 17:57:25 +010037########################################################################
38# Setup swig generation
39########################################################################
40foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS})
41 list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig)
42endforeach(incdir)
Piotr Krysik89cac102016-02-17 12:11:02 +010043list(APPEND GR_SWIG_INCLUDE_DIRS ${FFTW3F_INCLUDE_DIRS})
piotr437f5462014-02-04 17:57:25 +010044
Piotr Krysik89cac102016-02-17 12:11:02 +010045set(GR_SWIG_LIBRARIES grgsm)
ptrkrysik3be74a72014-12-13 10:11:00 +010046set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/grgsm_swig_doc.i)
piotr437f5462014-02-04 17:57:25 +010047set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include)
48
ptrkrysik3be74a72014-12-13 10:11:00 +010049GR_SWIG_MAKE(grgsm_swig grgsm_swig.i)
piotr437f5462014-02-04 17:57:25 +010050
51########################################################################
52# Install the build swig module
53########################################################################
ptrkrysik3be74a72014-12-13 10:11:00 +010054GR_SWIG_INSTALL(TARGETS grgsm_swig DESTINATION ${GR_PYTHON_DIR}/grgsm)
piotr437f5462014-02-04 17:57:25 +010055
56########################################################################
57# Install swig .i files for development
58########################################################################
59install(
60 FILES
ptrkrysik3be74a72014-12-13 10:11:00 +010061 grgsm_swig.i
Piotr Krysikbb961c12017-08-24 15:35:42 +020062 constants.i
ptrkrysik3be74a72014-12-13 10:11:00 +010063 ${CMAKE_CURRENT_BINARY_DIR}/grgsm_swig_doc.i
64 DESTINATION ${GR_INCLUDE_DIR}/grgsm/swig
piotr437f5462014-02-04 17:57:25 +010065)