summaryrefslogtreecommitdiff
path: root/grc
diff options
context:
space:
mode:
Diffstat (limited to 'grc')
-rw-r--r--grc/CMakeLists.txt118
-rw-r--r--grc/base/CMakeLists.txt42
-rw-r--r--grc/blocks/CMakeLists.txt22
-rw-r--r--grc/freedesktop/CMakeLists.txt47
-rw-r--r--grc/grc_gnuradio/CMakeLists.txt35
-rw-r--r--grc/gui/CMakeLists.txt48
-rw-r--r--grc/python/CMakeLists.txt45
-rw-r--r--grc/scripts/CMakeLists.txt25
8 files changed, 382 insertions, 0 deletions
diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt
new file mode 100644
index 000000000..ee422a4da
--- /dev/null
+++ b/grc/CMakeLists.txt
@@ -0,0 +1,118 @@
+# Copyright 2011 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.
+
+########################################################################
+# Setup dependencies
+########################################################################
+INCLUDE(GrPython)
+
+GR_PYTHON_CHECK_MODULE("python >= 2.5" sys "sys.version.split()[0] >= '2.5'" PYTHON_MIN_VER_FOUND)
+GR_PYTHON_CHECK_MODULE("Cheetah >= 2.0.0" Cheetah "Cheetah.Version >= '2.0.0'" CHEETAH_FOUND)
+GR_PYTHON_CHECK_MODULE("lxml >= 1.3.6" lxml.etree "lxml.etree.LXML_VERSION >= (1, 3, 6, 0)" LXML_FOUND)
+GR_PYTHON_CHECK_MODULE("pygtk >= 2.10.0" gtk "gtk.pygtk_version >= (2, 10, 0)" PYGTK_FOUND)
+GR_PYTHON_CHECK_MODULE("numpy" numpy True NUMPY_FOUND)
+
+########################################################################
+# Register component
+########################################################################
+INCLUDE(GrComponent)
+GR_REGISTER_COMPONENT("gnuradio-companion" ENABLE_GRC
+ ENABLE_GR_CORE_
+ ENABLE_PYTHON_
+ PYTHON_MIN_VER_FOUND
+ CHEETAH_FOUND
+ LXML_FOUND
+ PYGTK_FOUND
+ NUMPY_FOUND
+)
+
+########################################################################
+# Begin conditional configuration
+########################################################################
+IF(ENABLE_GRC)
+
+########################################################################
+# Setup CPack components
+########################################################################
+INCLUDE(GrPackage)
+CPACK_COMPONENT("grc"
+ DISPLAY_NAME "GNU Radio Companion"
+ DESCRIPTION "Graphical flow graph designer"
+ DEPENDS "core_python"
+)
+
+########################################################################
+# Create and install the grc conf file
+########################################################################
+FILE(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/${GR_PKG_DOC_DIR} docdir)
+FILE(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/${GRC_BLOCKS_DIR} blocksdir)
+
+CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/grc.conf.in
+ ${CMAKE_CURRENT_BINARY_DIR}/grc.conf
+@ONLY)
+
+INSTALL(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/grc.conf
+ DESTINATION ${GR_PKG_CONF_DIR}
+ COMPONENT "grc"
+)
+
+GR_PYTHON_INSTALL(
+ FILES __init__.py
+ DESTINATION ${GR_PYTHON_DIR}/gnuradio/grc
+ COMPONENT "grc"
+)
+
+########################################################################
+# Appens NSIS commands to set environment variables
+########################################################################
+FILE(TO_NATIVE_PATH ${GR_PKG_DOC_DIR} GR_DOC_DIR)
+STRING(REPLACE "\\" "\\\\" GR_DOC_DIR ${GR_DOC_DIR})
+
+FILE(TO_NATIVE_PATH ${GRC_BLOCKS_DIR} GRC_BLOCKS_PATH)
+STRING(REPLACE "\\" "\\\\" GRC_BLOCKS_PATH ${GRC_BLOCKS_PATH})
+
+FILE(TO_NATIVE_PATH ${GR_PYTHON_DIR} GR_PYTHON_POSTFIX)
+STRING(REPLACE "\\" "\\\\" GR_PYTHON_POSTFIX ${GR_PYTHON_POSTFIX})
+
+CPACK_SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}
+ WriteRegStr HKLM ${HLKM_ENV} \\\"GR_DOC_DIR\\\" \\\"$INSTDIR\\\\${GR_DOC_DIR}\\\"
+ WriteRegStr HKLM ${HLKM_ENV} \\\"GRC_BLOCKS_PATH\\\" \\\"$INSTDIR\\\\${GRC_BLOCKS_PATH}\\\"
+ WriteRegStr HKLM \\\"SOFTWARE\\\\Python\\\\PythonCore\\\\2.7\\\\PythonPath\\\" \\\"gnuradio\\\" \\\"$INSTDIR\\\\${GR_PYTHON_POSTFIX}\\\"
+")
+
+CPACK_SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "${CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS}
+ DeleteRegValue HKLM ${HLKM_ENV} \\\"GR_DOC_DIR\\\"
+ DeleteRegValue HKLM ${HLKM_ENV} \\\"GRC_BLOCKS_PATH\\\"
+ DeleteRegValue HKLM \\\"SOFTWARE\\\\Python\\\\PythonCore\\\\2.7\\\\PythonPath\\\" \\\"gnuradio\\\"
+")
+
+########################################################################
+# Add subdirectories
+########################################################################
+ADD_SUBDIRECTORY(base)
+ADD_SUBDIRECTORY(blocks)
+ADD_SUBDIRECTORY(freedesktop)
+ADD_SUBDIRECTORY(grc_gnuradio)
+ADD_SUBDIRECTORY(gui)
+ADD_SUBDIRECTORY(python)
+ADD_SUBDIRECTORY(scripts)
+
+ENDIF(ENABLE_GRC)
diff --git a/grc/base/CMakeLists.txt b/grc/base/CMakeLists.txt
new file mode 100644
index 000000000..81d39e69c
--- /dev/null
+++ b/grc/base/CMakeLists.txt
@@ -0,0 +1,42 @@
+# Copyright 2011 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.
+
+########################################################################
+GR_PYTHON_INSTALL(FILES
+ odict.py
+ ParseXML.py
+ Block.py
+ Connection.py
+ Constants.py
+ Element.py
+ FlowGraph.py
+ Param.py
+ Platform.py
+ Port.py
+ __init__.py
+ DESTINATION ${GR_PYTHON_DIR}/gnuradio/grc/base
+ COMPONENT "grc"
+)
+
+INSTALL(FILES
+ block_tree.dtd
+ flow_graph.dtd
+ DESTINATION ${GR_PYTHON_DIR}/gnuradio/grc/base
+ COMPONENT "grc"
+)
diff --git a/grc/blocks/CMakeLists.txt b/grc/blocks/CMakeLists.txt
new file mode 100644
index 000000000..393a91b27
--- /dev/null
+++ b/grc/blocks/CMakeLists.txt
@@ -0,0 +1,22 @@
+# Copyright 2011 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.
+
+########################################################################
+FILE(GLOB xml_files "*.xml")
+INSTALL(FILES ${xml_files} DESTINATION ${GRC_BLOCKS_DIR} COMPONENT "grc")
diff --git a/grc/freedesktop/CMakeLists.txt b/grc/freedesktop/CMakeLists.txt
new file mode 100644
index 000000000..2e74dd3be
--- /dev/null
+++ b/grc/freedesktop/CMakeLists.txt
@@ -0,0 +1,47 @@
+# Copyright 2011 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.
+
+########################################################################
+SET(grc_freedesktop_path ${GR_PKG_DATA_DIR}/grc/freedesktop)
+
+INSTALL(FILES
+ grc-icon-256.png
+ grc-icon-128.png
+ grc-icon-64.png
+ grc-icon-48.png
+ grc-icon-32.png
+ gnuradio-grc.xml
+ gnuradio-grc.desktop
+ DESTINATION ${grc_freedesktop_path}
+ COMPONENT "grc"
+)
+
+FIND_PROGRAM(HAVE_XDG_UTILS xdg-desktop-menu)
+
+IF(UNIX AND HAVE_XDG_UTILS)
+ SET(SRCDIR ${CMAKE_INSTALL_PREFIX}/${grc_freedesktop_path})
+ CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/grc_setup_freedesktop.in
+ ${CMAKE_CURRENT_BINARY_DIR}/grc_setup_freedesktop
+ @ONLY)
+ INSTALL(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/grc_setup_freedesktop
+ DESTINATION ${GR_PKG_LIBEXEC_DIR} COMPONENT "grc"
+ )
+ENDIF(UNIX AND HAVE_XDG_UTILS)
diff --git a/grc/grc_gnuradio/CMakeLists.txt b/grc/grc_gnuradio/CMakeLists.txt
new file mode 100644
index 000000000..e992a60a3
--- /dev/null
+++ b/grc/grc_gnuradio/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Copyright 2011 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.
+
+########################################################################
+GR_PYTHON_INSTALL(
+ FILES __init__.py
+ DESTINATION ${GR_PYTHON_DIR}/grc_gnuradio
+ COMPONENT "grc"
+)
+
+GR_PYTHON_INSTALL(FILES
+ blks2/__init__.py
+ blks2/error_rate.py
+ blks2/packet.py
+ blks2/selector.py
+ blks2/tcp.py
+ DESTINATION ${GR_PYTHON_DIR}/grc_gnuradio/blks2
+ COMPONENT "grc"
+)
diff --git a/grc/gui/CMakeLists.txt b/grc/gui/CMakeLists.txt
new file mode 100644
index 000000000..c2eb16e9f
--- /dev/null
+++ b/grc/gui/CMakeLists.txt
@@ -0,0 +1,48 @@
+# Copyright 2011 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.
+
+########################################################################
+GR_PYTHON_INSTALL(FILES
+ Block.py
+ Colors.py
+ Constants.py
+ Connection.py
+ Element.py
+ FlowGraph.py
+ Param.py
+ Platform.py
+ Port.py
+ Utils.py
+ ActionHandler.py
+ Actions.py
+ Bars.py
+ BlockTreeWindow.py
+ Dialogs.py
+ DrawingArea.py
+ FileDialogs.py
+ MainWindow.py
+ Messages.py
+ NotebookPage.py
+ PropsDialog.py
+ Preferences.py
+ StateCache.py
+ __init__.py
+ DESTINATION ${GR_PYTHON_DIR}/gnuradio/grc/gui
+ COMPONENT "grc"
+)
diff --git a/grc/python/CMakeLists.txt b/grc/python/CMakeLists.txt
new file mode 100644
index 000000000..50ec6d0ba
--- /dev/null
+++ b/grc/python/CMakeLists.txt
@@ -0,0 +1,45 @@
+# Copyright 2011 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.
+
+########################################################################
+GR_PYTHON_INSTALL(FILES
+ convert_hier.py
+ expr_utils.py
+ extract_category.py
+ extract_docs.py
+ Block.py
+ Connection.py
+ Constants.py
+ FlowGraph.py
+ Generator.py
+ Param.py
+ Platform.py
+ Port.py
+ __init__.py
+ DESTINATION ${GR_PYTHON_DIR}/gnuradio/grc/python
+ COMPONENT "grc"
+)
+
+INSTALL(FILES
+ block.dtd
+ default_flow_graph.grc
+ flow_graph.tmpl
+ DESTINATION ${GR_PYTHON_DIR}/gnuradio/grc/python
+ COMPONENT "grc"
+)
diff --git a/grc/scripts/CMakeLists.txt b/grc/scripts/CMakeLists.txt
new file mode 100644
index 000000000..b8d5330f6
--- /dev/null
+++ b/grc/scripts/CMakeLists.txt
@@ -0,0 +1,25 @@
+# Copyright 2011 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.
+
+########################################################################
+GR_PYTHON_INSTALL(
+ PROGRAMS gnuradio-companion
+ DESTINATION ${GR_RUNTIME_DIR}
+ COMPONENT "grc"
+)