summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2013-12-08 13:13:41 -0800
committerJohnathan Corgan <johnathan@corganlabs.com>2014-04-22 15:07:20 -0700
commitb25b76e201c0eabbc89a4c8340b71bedc2e4df7c (patch)
tree584e3d58458c6828d65ac6573ed7453b8e6a5d5f
parent3daa042f0f899a05d722265fd400f1b5775fa9d3 (diff)
zeromq: converted SWIG to in-tree build
-rw-r--r--gr-zeromq/CMakeLists.txt6
-rw-r--r--gr-zeromq/swig/CMakeLists.txt56
-rw-r--r--gr-zeromq/swig/zeromq_swig.i57
-rw-r--r--gr-zeromq/swig/zmqblocks_swig.i38
4 files changed, 88 insertions, 69 deletions
diff --git a/gr-zeromq/CMakeLists.txt b/gr-zeromq/CMakeLists.txt
index f9340e0d78..ef46b71138 100644
--- a/gr-zeromq/CMakeLists.txt
+++ b/gr-zeromq/CMakeLists.txt
@@ -87,12 +87,12 @@ CPACK_COMPONENT("zeromq_swig"
########################################################################
add_subdirectory(include/gnuradio/zeromq)
add_subdirectory(lib)
-#if(ENABLE_PYTHON)
-# add_subdirectory(swig)
+if(ENABLE_PYTHON)
+ add_subdirectory(swig)
# add_subdirectory(python/zeromq)
# add_subdirectory(grc)
# add_subdirectory(examples)
-#endif(ENABLE_PYTHON)
+endif(ENABLE_PYTHON)
#add_subdirectory(doc)
########################################################################
diff --git a/gr-zeromq/swig/CMakeLists.txt b/gr-zeromq/swig/CMakeLists.txt
index 875bd8db4d..529cb0deaf 100644
--- a/gr-zeromq/swig/CMakeLists.txt
+++ b/gr-zeromq/swig/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright 2011 Free Software Foundation, Inc.
+# Copyright 2013 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -18,40 +18,40 @@
# Boston, MA 02110-1301, USA.
########################################################################
-# Include swig generation macros
+# Setup swig generation
########################################################################
-find_package(SWIG)
-find_package(PythonLibs)
-if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND)
- return()
-endif()
-include(GrSwig)
include(GrPython)
+include(GrSwig)
-########################################################################
-# Setup swig generation
-########################################################################
-foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS})
- list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig)
-endforeach(incdir)
+set(GR_SWIG_INCLUDE_DIRS
+ ${GR_ZEROMQ_INCLUDE_DIRS}
+ ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS}
+ ${Boost_INCLUDE_DIRS}
+ ${ZEROMQ_INCLUDE_DIRS}
+)
-set(GR_SWIG_LIBRARIES gnuradio-zmqblocks)
-set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/zmqblocks_swig_doc.i)
-set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+if(ENABLE_GR_CTRLPORT)
+ list(APPEND GR_SWIG_FLAGS "-DGR_CTRLPORT")
+ list(APPEND GR_SWIG_INCLUDE_DIRS ${ICE_INCLUDE_DIR})
+endif(ENABLE_GR_CTRLPORT)
-GR_SWIG_MAKE(zmqblocks_swig zmqblocks_swig.i)
+set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/zeromq_swig_doc.i)
+set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/gnuradio/zeromq)
+set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc)
+set(GR_SWIG_LIBRARIES gnuradio-zeromq)
-########################################################################
-# Install the build swig module
-########################################################################
-GR_SWIG_INSTALL(TARGETS zmqblocks_swig DESTINATION ${GR_PYTHON_DIR}/zmqblocks)
+GR_SWIG_MAKE(zeromq_swig zeromq_swig.i)
+
+GR_SWIG_INSTALL(
+ TARGETS zeromq_swig
+ DESTINATION ${GR_PYTHON_DIR}/gnuradio/zeromq
+ COMPONENT "zeromq_python"
+)
-########################################################################
-# Install swig .i files for development
-########################################################################
install(
FILES
- zmqblocks_swig.i
- ${CMAKE_CURRENT_BINARY_DIR}/zmqblocks_swig_doc.i
- DESTINATION ${GR_INCLUDE_DIR}/zmqblocks/swig
+ zeromq_swig.i
+ ${CMAKE_CURRENT_BINARY_DIR}/zeromq_swig_doc.i
+ DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig
+ COMPONENT "zeromq_swig"
)
diff --git a/gr-zeromq/swig/zeromq_swig.i b/gr-zeromq/swig/zeromq_swig.i
new file mode 100644
index 0000000000..780f9d9896
--- /dev/null
+++ b/gr-zeromq/swig/zeromq_swig.i
@@ -0,0 +1,57 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2013 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#define ZEROMQ_API
+
+%include "gnuradio.i"
+
+//load generated python docstrings
+%include "zeromq_swig_doc.i"
+
+%{
+#include "gnuradio/zeromq/sink_pubsub.h"
+#include "gnuradio/zeromq/sink_pushpull.h"
+#include "gnuradio/zeromq/sink_reqrep.h"
+#include "gnuradio/zeromq/sink_reqrep_nopoll.h"
+#include "gnuradio/zeromq/source_pushpull_feedback.h"
+#include "gnuradio/zeromq/source_pushpull.h"
+#include "gnuradio/zeromq/source_reqrep.h"
+#include "gnuradio/zeromq/source_reqrep_nopoll.h"
+%}
+
+%include "gnuradio/zeromq/sink_pubsub.h"
+%include "gnuradio/zeromq/sink_pushpull.h"
+%include "gnuradio/zeromq/sink_reqrep.h"
+%include "gnuradio/zeromq/sink_reqrep_nopoll.h"
+%include "gnuradio/zeromq/source_pushpull_feedback.h"
+%include "gnuradio/zeromq/source_pushpull.h"
+%include "gnuradio/zeromq/source_reqrep.h"
+%include "gnuradio/zeromq/source_reqrep_nopoll.h"
+
+GR_SWIG_BLOCK_MAGIC2(zeromq, sink_pubsub);
+GR_SWIG_BLOCK_MAGIC2(zeromq, sink_pushpull);
+GR_SWIG_BLOCK_MAGIC2(zeromq, sink_reqrep);
+GR_SWIG_BLOCK_MAGIC2(zeromq, sink_reqrep_nopoll);
+GR_SWIG_BLOCK_MAGIC2(zeromq, source_pushpull_feedback);
+GR_SWIG_BLOCK_MAGIC2(zeromq, source_pushpull);
+GR_SWIG_BLOCK_MAGIC2(zeromq, source_reqrep);
+GR_SWIG_BLOCK_MAGIC2(zeromq, source_reqrep_nopoll);
diff --git a/gr-zeromq/swig/zmqblocks_swig.i b/gr-zeromq/swig/zmqblocks_swig.i
deleted file mode 100644
index b5ccce4765..0000000000
--- a/gr-zeromq/swig/zmqblocks_swig.i
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- c++ -*- */
-
-#define ZMQBLOCKS_API
-
-%include "gnuradio.i" // the common stuff
-
-//load generated python docstrings
-%include "zmqblocks_swig_doc.i"
-
-%{
-#include "zmqblocks/sink_reqrep.h"
-#include "zmqblocks/source_reqrep.h"
-#include "zmqblocks/sink_reqrep_nopoll.h"
-#include "zmqblocks/source_reqrep_nopoll.h"
-#include "zmqblocks/sink_pushpull.h"
-#include "zmqblocks/source_pushpull.h"
-#include "zmqblocks/source_pushpull_feedback.h"
-#include "zmqblocks/sink_pubsub.h"
-%}
-
-%include "zmqblocks/sink_reqrep.h"
-GR_SWIG_BLOCK_MAGIC2(zmqblocks, sink_reqrep);
-%include "zmqblocks/source_reqrep.h"
-GR_SWIG_BLOCK_MAGIC2(zmqblocks, source_reqrep);
-%include "zmqblocks/sink_reqrep_nopoll.h"
-GR_SWIG_BLOCK_MAGIC2(zmqblocks, sink_reqrep_nopoll);
-%include "zmqblocks/source_reqrep_nopoll.h"
-GR_SWIG_BLOCK_MAGIC2(zmqblocks, source_reqrep_nopoll);
-%include "zmqblocks/sink_pushpull.h"
-GR_SWIG_BLOCK_MAGIC2(zmqblocks, sink_pushpull);
-%include "zmqblocks/source_pushpull.h"
-GR_SWIG_BLOCK_MAGIC2(zmqblocks, source_pushpull);
-
-%include "zmqblocks/source_pushpull_feedback.h"
-GR_SWIG_BLOCK_MAGIC2(zmqblocks, source_pushpull_feedback);
-%include "zmqblocks/sink_pubsub.h"
-GR_SWIG_BLOCK_MAGIC2(zmqblocks, sink_pubsub);
-