summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-runtime/CMakeLists.txt')
-rw-r--r--gnuradio-runtime/CMakeLists.txt192
1 files changed, 192 insertions, 0 deletions
diff --git a/gnuradio-runtime/CMakeLists.txt b/gnuradio-runtime/CMakeLists.txt
new file mode 100644
index 0000000000..e659ce94fc
--- /dev/null
+++ b/gnuradio-runtime/CMakeLists.txt
@@ -0,0 +1,192 @@
+# 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.
+
+########################################################################
+# Setup dependencies
+########################################################################
+include(GrBoost)
+include(GrPython)
+
+########################################################################
+# Setup compatibility checks and defines
+########################################################################
+include(${CMAKE_CURRENT_SOURCE_DIR}/ConfigChecks.cmake)
+
+########################################################################
+# Register component
+########################################################################
+include(GrComponent)
+GR_REGISTER_COMPONENT("gnuradio-runtime" ENABLE_GNURADIO_RUNTIME
+ Boost_FOUND
+ ENABLE_VOLK
+ PYTHONINTERP_FOUND
+)
+
+GR_SET_GLOBAL(GNURADIO_RUNTIME_INCLUDE_DIRS
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}/gnuradio-runtime/include
+ ${CMAKE_BINARY_DIR}/gnuradio-runtime/include
+)
+
+GR_SET_GLOBAL(GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS
+ ${GNURADIO_RUNTIME_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/gnuradio-runtime/swig
+ ${CMAKE_BINARY_DIR}/gnuradio-runtime/swig
+)
+
+get_filename_component(GNURADIO_RUNTIME_PYTHONPATH
+ ${CMAKE_SOURCE_DIR}/python ABSOLUTE
+)
+GR_SET_GLOBAL(GNURADIO_RUNTIME_PYTHONPATH ${GNURADIO_RUNTIME_PYTHONPATH})
+
+########################################################################
+# Register controlport component
+########################################################################
+
+FIND_PACKAGE(ICE)
+FIND_PACKAGE(SWIG)
+
+if(SWIG_FOUND)
+ set(SWIG_VERSION_CHECK FALSE)
+ if("${SWIG_VERSION}" VERSION_GREATER "2.0.0")
+ set(SWIG_VERSION_CHECK TRUE)
+ else("${SWIG_VERSION}" VERSION_GREATER "2.0.0")
+ message(STATUS "")
+ message(STATUS "Ctrlport requires SWIG version >= 2.0")
+ endif()
+endif(SWIG_FOUND)
+
+GR_REGISTER_COMPONENT("gr-ctrlport" ENABLE_GR_CTRLPORT
+ Boost_FOUND
+ SWIG_FOUND
+ SWIG_VERSION_CHECK
+ ICE_FOUND
+ ENABLE_GNURADIO_RUNTIME
+)
+
+########################################################################
+# Begin conditional configuration
+########################################################################
+if(ENABLE_GNURADIO_RUNTIME)
+
+get_filename_component(GR_RUNTIME_PYTHONPATH
+ ${CMAKE_CURRENT_SOURCE_DIR}/python ABSOLUTE
+)
+GR_SET_GLOBAL(GR_RUNTIME_PYTHONPATH ${GR_RUNTIME_PYTHONPATH})
+
+########################################################################
+# Setup CPack components
+########################################################################
+include(GrPackage)
+CPACK_SET(CPACK_COMPONENT_GROUP_RUNTIME_DESCRIPTION "GNU Radio Runtime")
+
+CPACK_COMPONENT("runtime_runtime"
+ GROUP "Runtime"
+ DISPLAY_NAME "Runtime"
+ DESCRIPTION "Dynamic link libraries"
+ DEPENDS "core_runtime"
+)
+
+CPACK_COMPONENT("runtime_devel"
+ GROUP "Runtime"
+ DISPLAY_NAME "Development"
+ DESCRIPTION "C++ headers, package config, import libraries"
+ DEPENDS "core_devel"
+)
+
+CPACK_COMPONENT("runtime_python"
+ GROUP "Runtime"
+ DISPLAY_NAME "Python"
+ DESCRIPTION "Python modules for runtime"
+ DEPENDS "core_python;runtime_runtime"
+)
+
+CPACK_COMPONENT("runtime_swig"
+ GROUP "Runtime"
+ DISPLAY_NAME "SWIG"
+ DESCRIPTION "SWIG development .i files"
+ DEPENDS "core_swig;runtime_python;runtime_devel"
+)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-runtime.conf.in
+ ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.conf
+@ONLY)
+
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.conf
+ ctrlport.conf.example
+ DESTINATION ${GR_PREFSDIR}
+ COMPONENT "core_runtime"
+)
+
+if(ENABLE_GR_LOG AND HAVE_LOG4CPP)
+install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/gr_log_default.conf
+ DESTINATION ${GR_CONF_DIR}/gnuradio
+ COMPONENT "core_runtime"
+)
+endif(ENABLE_GR_LOG AND HAVE_LOG4CPP)
+
+########################################################################
+# Add subdirectories
+########################################################################
+add_subdirectory(include)
+add_subdirectory(lib)
+add_subdirectory(apps)
+#add_subdirectory(doc)
+if(ENABLE_PYTHON)
+ add_subdirectory(swig)
+ add_subdirectory(python)
+# add_subdirectory(grc)
+ add_subdirectory(examples)
+endif(ENABLE_PYTHON)
+
+########################################################################
+# Create Pkg Config File
+########################################################################
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-runtime.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.pc
+@ONLY)
+
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.pc
+ DESTINATION ${GR_LIBRARY_DIR}/pkgconfig
+ COMPONENT "runtime_devel"
+)
+
+########################################################################
+# Setup ControlPort preferences file and installation information
+########################################################################
+if(ENABLE_GR_CTRLPORT)
+
+SET(GR_PKG_CTRL_EXAMPLES_DIR ${GR_PKG_DATA_DIR}/examples/ctrlport)
+
+SET(GR_PKG_CTRL_SLICE_DIR ${GR_PKG_DATA_DIR}/ctrlport)
+file(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/${GR_PKG_CTRL_SLICE_DIR} slicedir)
+
+install(
+ FILES ctrlport.conf.example
+ DESTINATION ${SYSCONFDIR}/${CMAKE_PROJECT_NAME}
+ COMPONENT "gnuradio_runtime"
+)
+
+endif(ENABLE_GR_CTRLPORT)
+
+endif(ENABLE_GNURADIO_RUNTIME)