summaryrefslogtreecommitdiff
path: root/gnuradio-core/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/CMakeLists.txt')
-rw-r--r--gnuradio-core/CMakeLists.txt144
1 files changed, 144 insertions, 0 deletions
diff --git a/gnuradio-core/CMakeLists.txt b/gnuradio-core/CMakeLists.txt
new file mode 100644
index 000000000..029ff28a4
--- /dev/null
+++ b/gnuradio-core/CMakeLists.txt
@@ -0,0 +1,144 @@
+# Copyright 2010-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(GrBoost)
+
+find_package(GSL)
+
+find_package(FFTW3f)
+
+include(GrPython) #used for code generation
+
+get_filename_component(GR_CORE_PYTHONPATH
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/python ABSOLUTE
+)
+GR_SET_GLOBAL(GR_CORE_PYTHONPATH ${GR_CORE_PYTHONPATH})
+
+########################################################################
+# Register component
+########################################################################
+include(GrComponent)
+GR_REGISTER_COMPONENT("gnuradio-core" ENABLE_GR_CORE
+ ENABLE_GRUEL
+ Boost_FOUND
+ GSL_FOUND
+ FFTW3F_FOUND
+ PYTHONINTERP_FOUND
+)
+
+include(GrMiscUtils)
+GR_SET_GLOBAL(GNURADIO_CORE_INCLUDE_DIRS
+ ${GRUEL_INCLUDE_DIRS} #headers depend on gruel
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/runtime
+ ${CMAKE_CURRENT_BINARY_DIR}/src/lib/general
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/general
+ ${CMAKE_CURRENT_BINARY_DIR}/src/lib/gengen
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/gengen
+ ${CMAKE_CURRENT_BINARY_DIR}/src/lib/filter
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/filter
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/missing
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/reed-solomon
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/viterbi
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/io
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/g72x
+ ${CMAKE_CURRENT_BINARY_DIR}/src/lib/swig
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/swig
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/hier
+)
+
+GR_SET_GLOBAL(GNURADIO_CORE_SWIG_INCLUDE_DIRS
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/swig
+ ${GNURADIO_CORE_INCLUDE_DIRS}
+)
+
+########################################################################
+# Begin conditional configuration
+########################################################################
+if(ENABLE_GR_CORE)
+
+########################################################################
+# Setup CPack components
+########################################################################
+include(GrPackage)
+CPACK_SET(CPACK_COMPONENT_GROUP_CORE_DESCRIPTION "GNU Radio Core Library")
+
+CPACK_COMPONENT("core_runtime"
+ GROUP "Core"
+ DISPLAY_NAME "Runtime"
+ DESCRIPTION "Runtime"
+ DEPENDS "gruel_runtime"
+)
+
+CPACK_COMPONENT("core_devel"
+ GROUP "Core"
+ DISPLAY_NAME "Development"
+ DESCRIPTION "C++ headers, package config, import libraries"
+ DEPENDS "gruel_devel"
+)
+
+CPACK_COMPONENT("core_python"
+ GROUP "Core"
+ DISPLAY_NAME "Python"
+ DESCRIPTION "Python modules for runtime; GRC xml files"
+ DEPENDS "gruel_python;core_runtime"
+)
+
+CPACK_COMPONENT("core_swig"
+ GROUP "Core"
+ DISPLAY_NAME "SWIG"
+ DESCRIPTION "SWIG development .i files"
+ DEPENDS "gruel_swig;core_python;core_devel"
+)
+
+install(
+ FILES gnuradio-core.conf
+ DESTINATION ${GR_PKG_CONF_DIR}
+ COMPONENT "core_runtime"
+)
+
+########################################################################
+# Add subdirectories
+########################################################################
+add_subdirectory(src/lib)
+if(ENABLE_TESTING)
+ add_subdirectory(src/tests)
+endif(ENABLE_TESTING)
+if(ENABLE_PYTHON)
+ add_subdirectory(src/lib/swig)
+ add_subdirectory(src/python/gnuradio)
+endif(ENABLE_PYTHON)
+
+########################################################################
+# Create Pkg Config File
+########################################################################
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-core.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-core.pc
+@ONLY)
+
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-core.pc
+ DESTINATION ${GR_LIBRARY_DIR}/pkgconfig
+ COMPONENT "core_devel"
+)
+
+endif(ENABLE_GR_CORE)