summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Modules/FindGnuradio.cmake108
-rw-r--r--cmake/Modules/FindICE.cmake84
-rw-r--r--cmake/Modules/GnuradioConfig.cmake244
-rw-r--r--cmake/Modules/GrMiscUtils.cmake38
-rw-r--r--cmake/Modules/GrSwig.cmake16
-rw-r--r--cmake/Packaging/Fedora-15.cmake2
-rw-r--r--cmake/Packaging/Fedora-16.cmake2
-rw-r--r--cmake/Packaging/Fedora-17.cmake2
-rw-r--r--cmake/Packaging/Fedora-18.cmake2
-rw-r--r--cmake/Packaging/Ubuntu-10.04.cmake2
-rw-r--r--cmake/Packaging/Ubuntu-10.10.cmake2
-rw-r--r--cmake/Packaging/Ubuntu-11.04.cmake2
-rw-r--r--cmake/Packaging/Ubuntu-11.10.cmake2
-rw-r--r--cmake/Packaging/Ubuntu-12.04.cmake2
-rw-r--r--cmake/Packaging/Ubuntu-12.10.cmake2
-rw-r--r--cmake/msvc/stdbool.h45
16 files changed, 406 insertions, 149 deletions
diff --git a/cmake/Modules/FindGnuradio.cmake b/cmake/Modules/FindGnuradio.cmake
new file mode 100644
index 0000000000..80be72dc8c
--- /dev/null
+++ b/cmake/Modules/FindGnuradio.cmake
@@ -0,0 +1,108 @@
+INCLUDE(FindPkgConfig)
+INCLUDE(FindPackageHandleStandardArgs)
+
+# a subset of required modules can be set using the following syntax
+#set(GR_REQUIRED_MODULES RUNTIME BLOCKS)
+
+# if GR_REQUIRED_MODULES is not defined, it will be set to the following list (all of them)
+if(NOT GR_REQUIRED_MODULES)
+ set(GR_REQUIRED_MODULES RUNTIME ANALOG ATSC AUDIO BLOCKS CHANNELS DIGITAL FEC FFT FILTER NOAA PAGER QTGUI TRELLIS UHD VOCODER WAVELET PMT)
+endif()
+
+set(GNURADIO_ALL_LIBRARIES "")
+set(GNURADIO_ALL_INCLUDE_DIRS "")
+
+MACRO(LIST_CONTAINS var value)
+ SET(${var})
+ FOREACH(value2 ${ARGN})
+ IF (${value} STREQUAL ${value2})
+ SET(${var} TRUE)
+ ENDIF(${value} STREQUAL ${value2})
+ ENDFOREACH(value2)
+ENDMACRO(LIST_CONTAINS)
+
+function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
+
+ LIST_CONTAINS(REQUIRED_MODULE ${EXTVAR} ${GR_REQUIRED_MODULES})
+ if(NOT REQUIRED_MODULE)
+ #message("Ignoring GNU Radio Module ${EXTVAR}")
+ return()
+ endif()
+
+ message("Checking for GNU Radio Module: ${EXTVAR}")
+
+ # check for .pc hints
+ PKG_CHECK_MODULES(PC_GNURADIO_${EXTVAR} ${PCNAME})
+
+ set(INCVAR_NAME "GNURADIO_${EXTVAR}_INCLUDE_DIRS")
+ set(LIBVAR_NAME "GNURADIO_${EXTVAR}_LIBRARIES")
+ set(PC_INCDIR "PC_GNURADIO_${EXTVAR}_INCLUDEDIR")
+ set(PC_LIBDIR "PC_GNURADIO_${EXTVAR}_LIBDIR")
+
+ # look for include files
+ FIND_PATH(
+ ${INCVAR_NAME}
+ NAMES ${INCFILE}
+ HINTS $ENV{GNURADIO_RUNTIME_DIR}/include/gnuradio
+ ${PC_INCDIR}
+ ${CMAKE_INSTALL_PREFIX}/include/gnuradio
+ PATHS /usr/local/include/gnuradio
+ /usr/include/gnuradio
+ )
+
+ # look for libs
+ FIND_LIBRARY(
+ ${LIBVAR_NAME}
+ NAMES ${LIBFILE}
+ HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
+ ${PC_LIBDIR}
+ ${CMAKE_INSTALL_PREFIX}/lib/
+ ${CMAKE_INSTALL_PREFIX}/lib64/
+ PATHS /usr/local/lib
+ /usr/local/lib64
+ /usr/lib
+ /usr/lib64
+ )
+
+ # show results
+ message(" * INCLUDES=${GNURADIO_${EXTVAR}_INCLUDE_DIRS}")
+ message(" * LIBS=${GNURADIO_${EXTVAR}_LIBRARIES}")
+
+ # append to all includes and libs list
+ LIST(APPEND GNURADIO_ALL_INCLUDE_DIRS ${GNURADIO_${EXTVAR}_INCLUDE_DIRS})
+ LIST(APPEND GNURADIO_ALL_LIBRARIES ${GNURADIO_${EXTVAR}_LIBRARIES})
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_${EXTVAR} DEFAULT_MSG GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
+ message("GNURADIO_${EXTVAR}_FOUND = ${GNURADIO_${EXTVAR}_FOUND}")
+ set(GNURADIO_${EXTVAR}_FOUND ${GNURADIO_${EXTVAR}_FOUND} PARENT_SCOPE)
+
+ # generate an error if the module is missing
+ if(NOT GNURADIO_${EXTVAR}_FOUND)
+ message(FATAL_ERROR "Required GNU Radio Component: ${EXTVAR} missing!")
+ endif()
+
+ MARK_AS_ADVANCED(GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
+
+endfunction()
+
+GR_MODULE(CORE gnuradio-runtime gr_top_block.h gnuradio-runtime)
+GR_MODULE(RUNTIME gnuradio-runtime gr_top_block.h gnuradio-runtime)
+GR_MODULE(ANALOG gnuradio-analog analog/noise_type.h gnuradio-analog)
+GR_MODULE(ATSC gnuradio-atsc atsc_api.h gnuradio-atsc)
+GR_MODULE(AUDIO gnuradio-audio audio/sink.h gnuradio-audio)
+GR_MODULE(BLOCKS gnuradio-blocks blocks/delay.h gnuradio-blocks)
+GR_MODULE(CHANNELS gnuradio-channels channels/channel_model.h gnuradio-channels)
+GR_MODULE(DIGITAL gnuradio-digital digital/lfsr.h gnuradio-digital)
+GR_MODULE(FEC gnuradio-fec fec/rs.h gnuradio-fec)
+GR_MODULE(FFT gnuradio-fft fft/fft.h gnuradio-fft)
+GR_MODULE(FILTER gnuradio-filter filter/fir_filter.h gnuradio-filter)
+GR_MODULE(NOAA gnuradio-noaa noaa/hrpt.h gnuradio-noaa)
+GR_MODULE(PAGER gnuradio-pager noaa/flex_deinterleave.h gnuradio-pager)
+GR_MODULE(QTGUI gnuradio-qtgui qtgui/utils.h gnuradio-qtgui)
+GR_MODULE(TRELLIS gnuradio-trellis trellis/fsm.h gnuradio-trellis)
+GR_MODULE(UHD gnuradio-uhd gr_uhd/usrp_sink.h gnuradio-uhd)
+GR_MODULE(VOCODER gnuradio-vocoder vocoder/alaw_encode_sb.h gnuradio-vocoder)
+GR_MODULE(WAVELET gnuradio-wavelet wavelet/wavelet_ff.h gnuradio-wavelet)
+GR_MODULE(PMT gnuradio-pmt pmt/pmt.h gnuradio-pmt)
+
+
diff --git a/cmake/Modules/FindICE.cmake b/cmake/Modules/FindICE.cmake
new file mode 100644
index 0000000000..4186c5bbd0
--- /dev/null
+++ b/cmake/Modules/FindICE.cmake
@@ -0,0 +1,84 @@
+FIND_PACKAGE(PkgConfig)
+PKG_CHECK_MODULES(PC_ICE Ice-3.4)
+
+#set(ICE_MANUAL_INSTALL_PATH /opt/Ice-3.4.2/)
+FIND_PATH(
+ ICE_INCLUDE_DIR
+ NAMES IceUtil/IceUtil.h Ice/Ice.h IceStorm/IceStorm.h icestorm_publisher_template.h
+ HINTS ${CMAKE_INSTALL_PREFIX}/${HEADER_DIR} ${ICE_MANUAL_INSTALL_PATH}/include/
+)
+
+set(ICE_LIBRARY )
+
+FIND_LIBRARY(
+ ICE_ICESTORM IceStorm
+ PATHS ENV LD_LIBRARY_PATH
+ HINTS ${PC_ICE_LIBDIR} ${PC_ICE_LIBRARY_DIRS} ${ICE_MANUAL_INSTALL_PATH}/lib64/
+)
+
+FIND_LIBRARY(
+ ICE_ICESTORM IceStorm
+ PATHS HINTS ${CMAKE_INSTALL_PREFIX}/lib64/ ${CMAKE_INSTALL_PREFIX}/lib/
+ PATHS ${PC_ICE_LIBDIR} ${PC_ICE_LIBRARY_DIRS} ${ICE_MANUAL_INSTALL_PATH}/lib64/
+ ENV LD_LIBRARY_PATH
+)
+FIND_LIBRARY(
+ ICE_ICE Ice
+ PATHS HINTS ${CMAKE_INSTALL_PREFIX}/lib64/ ${CMAKE_INSTALL_PREFIX}/lib/
+ PATHS ${PC_ICE_LIBDIR} ${PC_ICE_LIBRARY_DIRS} ${ICE_MANUAL_INSTALL_PATH}/lib64/
+ ENV LD_LIBRARY_PATH
+)
+FIND_LIBRARY(
+ ICE_ICEGRID IceGrid
+ PATHS HINTS ${CMAKE_INSTALL_PREFIX}/lib64/ ${CMAKE_INSTALL_PREFIX}/lib/
+ PATHS ${PC_ICE_LIBDIR} ${PC_ICE_LIBRARY_DIRS} ${ICE_MANUAL_INSTALL_PATH}/lib64/
+ ENV LD_LIBRARY_PATH
+)
+FIND_LIBRARY(
+ ICE_ICEUTIL IceUtil
+ PATHS HINTS ${CMAKE_INSTALL_PREFIX}/lib64/ ${CMAKE_INSTALL_PREFIX}/lib/
+ PATHS ${PC_ICE_LIBDIR} ${PC_ICE_LIBRARY_DIRS} ${ICE_MANUAL_INSTALL_PATH}/lib64/
+ ENV LD_LIBRARY_PATH
+)
+FIND_LIBRARY(
+ ICE_GLACIER2 Glacier2
+ PATHS HINTS ${CMAKE_INSTALL_PREFIX}/lib64/ ${CMAKE_INSTALL_PREFIX}/lib/
+ PATHS ${PC_ICE_LIBDIR} ${PC_ICE_LIBRARY_DIRS} ${ICE_MANUAL_INSTALL_PATH}/lib64/
+ ENV LD_LIBRARY_PATH
+)
+
+if(APPLE)
+ FIND_LIBRARY(
+ ICE_ZEROCICE ZeroCIce
+ PATHS HINTS ${CMAKE_INSTALL_PREFIX}/lib64/ ${CMAKE_INSTALL_PREFIX}/lib/
+ PATHS ${PC_ICE_LIBDIR} ${PC_ICE_LIBRARY_DIRS} ${ICE_MANUAL_INSTALL_PATH}/lib64/
+ ENV LD_LIBRARY_PATH
+ )
+endif(APPLE)
+
+FIND_LIBRARY(
+ ICE_PTHREAD NAMES pthread pthread-2.13
+ PATHS HINTS ${CMAKE_INSTALL_PREFIX}/lib64/ ${CMAKE_INSTALL_PREFIX}/lib/
+ PATHS ${PC_ICE_LIBDIR} ${PC_ICE_LIBRARY_DIRS} /lib/i386-linux-gnu /lib/x86_64-linux-gnu /usr/lib /lib /lib64
+ ENV LD_LIBRARY_PATH
+)
+
+list(APPEND ICE_LIBRARY
+ ${ICE_ICESTORM}
+ ${ICE_ICE}
+ ${ICE_ICEGRID}
+ ${ICE_ICEUTIL}
+ ${ICE_GLACIER2}
+ ${ICE_ZEROCICE}
+ ${ICE_PTHREAD}
+)
+
+FIND_PROGRAM(ICE_SLICE2CPP slice2cpp HINTS ${CMAKE_INSTALL_PREFIX}/bin ${ICE_MANUAL_INSTALL_PATH}/bin/)
+FIND_PROGRAM(ICE_SLICE2PY slice2py HINTS ${CMAKE_INSTALL_PREFIX}/bin ${ICE_MANUAL_INSTALL_PATH}/bin/)
+
+set(ICE_LIBRARIES ${ICE_LIBRARY})
+set(ICE_INCLUDE_DIRS ${ICE_INCLUDE_DIR})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(ICE DEFAULT_MSG ICE_LIBRARY ICE_INCLUDE_DIR)
+mark_as_advanced(ICE_INCLUDE_DIR ICE_LIBRARY)
diff --git a/cmake/Modules/GnuradioConfig.cmake b/cmake/Modules/GnuradioConfig.cmake
index c2786232ae..06cf1a4722 100644
--- a/cmake/Modules/GnuradioConfig.cmake
+++ b/cmake/Modules/GnuradioConfig.cmake
@@ -1,122 +1,122 @@
-# 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.
-
-INCLUDE(FindPkgConfig)
-INCLUDE(FindPackageHandleStandardArgs)
-
-# if GR_REQUIRED_COMPONENTS is not defined, it will be set to the following list (all of them)
-if(NOT GR_REQUIRED_COMPONENTS)
- set(GR_REQUIRED_COMPONENTS CORE RUNTIME ANALOG ATSC AUDIO BLOCKS DIGITAL FCD FFT FILTER NOAA PAGER QTGUI TRELLIS UHD VOCODER WAVELET WXGUI)
-endif()
-
-set(GNURADIO_ALL_LIBRARIES "")
-set(GNURADIO_ALL_INCLUDE_DIRS "")
-
-MACRO(LIST_CONTAINS var value)
- SET(${var})
- FOREACH(value2 ${ARGN})
- IF (${value} STREQUAL ${value2})
- SET(${var} TRUE)
- ENDIF(${value} STREQUAL ${value2})
- ENDFOREACH(value2)
-ENDMACRO(LIST_CONTAINS)
-
-function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
-
- LIST_CONTAINS(REQUIRED_MODULE ${EXTVAR} ${GR_REQUIRED_COMPONENTS})
- if(NOT REQUIRED_MODULE)
- #message("Ignoring GNU Radio Module ${EXTVAR}")
- return()
- endif()
-
- message("Checking for GNU Radio Module: ${EXTVAR}")
-
- # check for .pc hints
- PKG_CHECK_MODULES(PC_GNURADIO_${EXTVAR} ${PCNAME})
-
- set(INCVAR_NAME "GNURADIO_${EXTVAR}_INCLUDE_DIRS")
- set(LIBVAR_NAME "GNURADIO_${EXTVAR}_LIBRARIES")
- set(PC_INCDIR ${PC_GNURADIO_${EXTVAR}_INCLUDEDIR})
- set(PC_LIBDIR ${PC_GNURADIO_${EXTVAR}_LIBDIR})
-
- # look for include files
- FIND_PATH(
- ${INCVAR_NAME}
- NAMES ${INCFILE}
- HINTS $ENV{GNURADIO_CORE_DIR}/include/gnuradio
- ${PC_INCDIR}
- ${PC_INCDIR}/gnuradio/
- ${CMAKE_INSTALL_PREFIX}/include/gnuradio
- PATHS /usr/local/include/gnuradio
- /usr/include/gnuradio
- )
-
- # look for libs
- FIND_LIBRARY(
- ${LIBVAR_NAME}
- NAMES ${LIBFILE}
- HINTS $ENV{GNURADIO_CORE_DIR}/lib
- ${PC_LIBDIR}
- ${CMAKE_INSTALL_PREFIX}/lib/
- ${CMAKE_INSTALL_PREFIX}/lib64/
- PATHS /usr/local/lib
- /usr/local/lib64
- /usr/lib
- /usr/lib64
- )
-
- # show results
- message(" * INCLUDES=${GNURADIO_${EXTVAR}_INCLUDE_DIRS}")
- message(" * LIBS=${GNURADIO_${EXTVAR}_LIBRARIES}")
-
- # append to all includes and libs list
- LIST(APPEND GNURADIO_ALL_INCLUDE_DIRS ${GNURADIO_${EXTVAR}_INCLUDE_DIRS})
- LIST(APPEND GNURADIO_ALL_LIBRARIES ${GNURADIO_${EXTVAR}_LIBRARIES})
-
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_${EXTVAR} DEFAULT_MSG GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
- message("GNURADIO_${EXTVAR}_FOUND = ${GNURADIO_${EXTVAR}_FOUND}")
- set(GNURADIO_${EXTVAR}_FOUND ${GNURADIO_${EXTVAR}_FOUND} PARENT_SCOPE)
-
- # generate an error if the module is missing
- if(NOT GNURADIO_${EXTVAR}_FOUND)
- message(FATAL_ERROR "Required GNU Radio Component: ${EXTVAR} missing!")
- endif()
-
- MARK_AS_ADVANCED(GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
-
-endfunction()
-
-GR_MODULE(CORE gnuradio-core gr_top_block.h gnuradio-core)
-GR_MODULE(RUNTIME gnuradio-core gr_top_block.h gnuradio-core)
-GR_MODULE(ANALOG gnuradio-analog analog/api.h gnuradio-analog)
-GR_MODULE(ATSC gnuradio-atsc atsc_api.h gnuradio-atsc)
-GR_MODULE(AUDIO gnuradio-audio gr_audio_api.h gnuradio-audio)
-GR_MODULE(BLOCKS gnuradio-blocks blocks/api.h gnuradio-blocks)
-GR_MODULE(DIGITAL gnuradio-digital digital/ofdm_frame_equalizer_vcvc.h gnuradio-digital)
-GR_MODULE(FCD gnuradio-fft fcd_api.h gnuradio-fft)
-GR_MODULE(FFT gnuradio-fft fft/api.h gnuradio-fft)
-GR_MODULE(FILTER gnuradio-filter filter/api.h gnuradio-filter)
-GR_MODULE(NOAA gnuradio-noaa noaa_api.h gnuradio-noaa)
-GR_MODULE(PAGER gnuradio-pager pager_api.h gnuradio-pager)
-GR_MODULE(QTGUI gnuradio-qtgui gr_qtgui_api.h gnuradio-qtgui)
-GR_MODULE(TRELLIS gnuradio-trellis trellis_api.h gnuradio-trellis)
-GR_MODULE(UHD gnuradio-uhd gr_uhd_api.h gnuradio-uhd)
-GR_MODULE(VOCODER gnuradio-vocoder vocoder_api.h gnuradio-vocoder)
-GR_MODULE(WAVELET gnuradio-wavelet wavelet_api.h gnuradio-wavelet)
-
+# 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.
+
+INCLUDE(FindPkgConfig)
+INCLUDE(FindPackageHandleStandardArgs)
+
+# if GR_REQUIRED_COMPONENTS is not defined, it will be set to the following list (all of them)
+if(NOT GR_REQUIRED_COMPONENTS)
+ set(GR_REQUIRED_COMPONENTS RUNTIME ANALOG ATSC AUDIO BLOCKS CHANNELS DIGITAL FCD FEC FFT FILTER NOAA PAGER QTGUI TRELLIS UHD VOCODER WAVELET WXGUI)
+endif()
+
+set(GNURADIO_ALL_LIBRARIES "")
+set(GNURADIO_ALL_INCLUDE_DIRS "")
+
+MACRO(LIST_CONTAINS var value)
+ SET(${var})
+ FOREACH(value2 ${ARGN})
+ IF (${value} STREQUAL ${value2})
+ SET(${var} TRUE)
+ ENDIF(${value} STREQUAL ${value2})
+ ENDFOREACH(value2)
+ENDMACRO(LIST_CONTAINS)
+
+function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
+
+ LIST_CONTAINS(REQUIRED_MODULE ${EXTVAR} ${GR_REQUIRED_COMPONENTS})
+ if(NOT REQUIRED_MODULE)
+ #message("Ignoring GNU Radio Module ${EXTVAR}")
+ return()
+ endif()
+
+ message("Checking for GNU Radio Module: ${EXTVAR}")
+
+ # check for .pc hints
+ PKG_CHECK_MODULES(PC_GNURADIO_${EXTVAR} ${PCNAME})
+
+ set(INCVAR_NAME "GNURADIO_${EXTVAR}_INCLUDE_DIRS")
+ set(LIBVAR_NAME "GNURADIO_${EXTVAR}_LIBRARIES")
+ set(PC_INCDIR ${PC_GNURADIO_${EXTVAR}_INCLUDEDIR})
+ set(PC_LIBDIR ${PC_GNURADIO_${EXTVAR}_LIBDIR})
+
+ # look for include files
+ FIND_PATH(
+ ${INCVAR_NAME}
+ NAMES ${INCFILE}
+ HINTS $ENV{GNURADIO_RUNTIME_DIR}/include/gnuradio
+ ${PC_INCDIR}/gnuradio/
+ ${CMAKE_INSTALL_PREFIX}/include/gnuradio
+ PATHS /usr/local/include/gnuradio
+ /usr/include/gnuradio
+ )
+
+ # look for libs
+ FIND_LIBRARY(
+ ${LIBVAR_NAME}
+ NAMES ${LIBFILE}
+ HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
+ ${PC_LIBDIR}
+ ${CMAKE_INSTALL_PREFIX}/lib/
+ ${CMAKE_INSTALL_PREFIX}/lib64/
+ PATHS /usr/local/lib
+ /usr/local/lib64
+ /usr/lib
+ /usr/lib64
+ )
+
+ # show results
+ message(" * INCLUDES=${GNURADIO_${EXTVAR}_INCLUDE_DIRS}")
+ message(" * LIBS=${GNURADIO_${EXTVAR}_LIBRARIES}")
+
+ # append to all includes and libs list
+ LIST(APPEND GNURADIO_ALL_INCLUDE_DIRS ${GNURADIO_${EXTVAR}_INCLUDE_DIRS})
+ LIST(APPEND GNURADIO_ALL_LIBRARIES ${GNURADIO_${EXTVAR}_LIBRARIES})
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_${EXTVAR} DEFAULT_MSG GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
+ message("GNURADIO_${EXTVAR}_FOUND = ${GNURADIO_${EXTVAR}_FOUND}")
+ set(GNURADIO_${EXTVAR}_FOUND ${GNURADIO_${EXTVAR}_FOUND} PARENT_SCOPE)
+
+ # generate an error if the module is missing
+ if(NOT GNURADIO_${EXTVAR}_FOUND)
+ message(FATAL_ERROR "Required GNU Radio Component: ${EXTVAR} missing!")
+ endif()
+
+ MARK_AS_ADVANCED(GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
+
+endfunction()
+
+GR_MODULE(RUNTIME gnuradio-runtime gr_top_block.h gnuradio-runtime)
+GR_MODULE(ANALOG gnuradio-analog analog/api.h gnuradio-analog)
+GR_MODULE(ATSC gnuradio-atsc atsc/api.h gnuradio-atsc)
+GR_MODULE(AUDIO gnuradio-audio audio/api.h gnuradio-audio)
+GR_MODULE(BLOCKS gnuradio-blocks blocks/api.h gnuradio-blocks)
+GR_MODULE(CHANNELS gnuradio-channels channels/api.h gnuradio-channels)
+GR_MODULE(DIGITAL gnuradio-digital digital/api.h gnuradio-digital)
+GR_MODULE(FCD gnuradio-fcd fcd_api.h gnuradio-fcd)
+GR_MODULE(FEC gnuradio-fec fec/api.h gnuradio-fec)
+GR_MODULE(FFT gnuradio-fft fft/api.h gnuradio-fft)
+GR_MODULE(FILTER gnuradio-filter filter/api.h gnuradio-filter)
+GR_MODULE(NOAA gnuradio-noaa noaa/api.h gnuradio-noaa)
+GR_MODULE(PAGER gnuradio-pager pager/api.h gnuradio-pager)
+GR_MODULE(QTGUI gnuradio-qtgui qtgui/api.h gnuradio-qtgui)
+GR_MODULE(TRELLIS gnuradio-trellis trellis/api.h gnuradio-trellis)
+GR_MODULE(UHD gnuradio-uhd uhd/api.h gnuradio-uhd)
+GR_MODULE(VOCODER gnuradio-vocoder vocoder/api.h gnuradio-vocoder)
+GR_MODULE(WAVELET gnuradio-wavelet wavelet/api.h gnuradio-wavelet)
+GR_MODULE(WXGUI gnuradio-wxgui wxgui/api.h gnuradio-wxgui)
diff --git a/cmake/Modules/GrMiscUtils.cmake b/cmake/Modules/GrMiscUtils.cmake
index 69ff1f5ddc..883ca5104f 100644
--- a/cmake/Modules/GrMiscUtils.cmake
+++ b/cmake/Modules/GrMiscUtils.cmake
@@ -268,15 +268,15 @@ function(GRCC)
set(filenames ${ARGV})
file(MAKE_DIRECTORY ${directory})
- SET(GRCC_COMMAND ${CMAKE_SOURCE_DIR}/gr-utils/src/python/grcc)
+ SET(GRCC_COMMAND ${CMAKE_SOURCE_DIR}/gr-utils/python/grcc)
- # GRCC uses some stuff in grc and gnuradio-core, so we force
+ # GRCC uses some stuff in grc and gnuradio-runtime, so we force
# the known paths here
list(APPEND PYTHONPATHS
${CMAKE_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/gnuradio-core/src/python
- ${CMAKE_SOURCE_DIR}/gnuradio-core/src/lib/swig
- ${CMAKE_BINARY_DIR}/gnuradio-core/src/lib/swig
+ ${CMAKE_SOURCE_DIR}/gnuradio-runtime/python
+ ${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib/swig
+ ${CMAKE_BINARY_DIR}/gnuradio-runtime/lib/swig
)
if(WIN32)
@@ -317,3 +317,31 @@ function(GRCC)
set(PYFILES ${pyfiles} PARENT_SCOPE)
endfunction(GRCC)
+
+########################################################################
+# Check if HAVE_PTHREAD_SETSCHEDPARAM and HAVE_SCHED_SETSCHEDULER
+# should be defined
+########################################################################
+macro(GR_CHECK_LINUX_SCHED_AVAIL)
+set(CMAKE_REQUIRED_LIBRARIES -lpthread)
+ CHECK_CXX_SOURCE_COMPILES("
+ #include <pthread.h>
+ int main(){
+ pthread_t pthread;
+ pthread_setschedparam(pthread, 0, 0);
+ return 0;
+ } " HAVE_PTHREAD_SETSCHEDPARAM
+ )
+ GR_ADD_COND_DEF(HAVE_PTHREAD_SETSCHEDPARAM)
+
+ CHECK_CXX_SOURCE_COMPILES("
+ #include <sched.h>
+ int main(){
+ pid_t pid;
+ sched_setscheduler(pid, 0, 0);
+ return 0;
+ } " HAVE_SCHED_SETSCHEDULER
+ )
+ GR_ADD_COND_DEF(HAVE_SCHED_SETSCHEDULER)
+endmacro(GR_CHECK_LINUX_SCHED_AVAIL)
+
diff --git a/cmake/Modules/GrSwig.cmake b/cmake/Modules/GrSwig.cmake
index b9bf0bb0b9..3c814c5d60 100644
--- a/cmake/Modules/GrSwig.cmake
+++ b/cmake/Modules/GrSwig.cmake
@@ -105,13 +105,25 @@ endfunction(GR_SWIG_MAKE_DOCS)
macro(GR_SWIG_MAKE name)
set(ifiles ${ARGN})
+ # Shimming this in here to take care of a SWIG bug with handling
+ # vector<size_t> and vector<unsigned int> (on 32-bit machines) and
+ # vector<long unsigned int> (on 64-bit machines). Use this to test
+ # the size of size_t, then set SIZE_T_32 if it's a 32-bit machine
+ # or not if it's 64-bit. The logic in gr_type.i handles the rest.
+ INCLUDE (CheckTypeSize)
+ CHECK_TYPE_SIZE("size_t" SIZEOF_SIZE_T)
+ CHECK_TYPE_SIZE("unsigned int" SIZEOF_UINT)
+ if(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
+ list(APPEND GR_SWIG_FLAGS -DSIZE_T_32)
+ endif(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
+
#do swig doc generation if specified
if (GR_SWIG_DOC_FILE)
set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS})
- set(GR_SWIG_DOCS_TARGET_DEPS ${GR_SWIG_TARGET_DEPS})
+ list(APPEND GR_SWIG_DOCS_TARGET_DEPS ${GR_SWIG_TARGET_DEPS})
GR_SWIG_MAKE_DOCS(${GR_SWIG_DOC_FILE} ${GR_SWIG_DOC_DIRS})
add_custom_target(${name}_swig_doc DEPENDS ${GR_SWIG_DOC_FILE})
- list(APPEND GR_SWIG_TARGET_DEPS ${name}_swig_doc)
+ list(APPEND GR_SWIG_TARGET_DEPS ${name}_swig_doc ${GR_RUNTIME_SWIG_DOC_FILE})
endif()
#append additional include directories
diff --git a/cmake/Packaging/Fedora-15.cmake b/cmake/Packaging/Fedora-15.cmake
index 2e9e78ee11..18836d871b 100644
--- a/cmake/Packaging/Fedora-15.cmake
+++ b/cmake/Packaging/Fedora-15.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "boost-python" "glibc")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "fftw-libs")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "qt" "qwt")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "PyQt4" "PyQwt")
diff --git a/cmake/Packaging/Fedora-16.cmake b/cmake/Packaging/Fedora-16.cmake
index 2e9e78ee11..18836d871b 100644
--- a/cmake/Packaging/Fedora-16.cmake
+++ b/cmake/Packaging/Fedora-16.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "boost-python" "glibc")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "fftw-libs")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "qt" "qwt")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "PyQt4" "PyQwt")
diff --git a/cmake/Packaging/Fedora-17.cmake b/cmake/Packaging/Fedora-17.cmake
index 2e9e78ee11..18836d871b 100644
--- a/cmake/Packaging/Fedora-17.cmake
+++ b/cmake/Packaging/Fedora-17.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "boost-python" "glibc")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "fftw-libs")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "qt" "qwt")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "PyQt4" "PyQwt")
diff --git a/cmake/Packaging/Fedora-18.cmake b/cmake/Packaging/Fedora-18.cmake
index 2e9e78ee11..18836d871b 100644
--- a/cmake/Packaging/Fedora-18.cmake
+++ b/cmake/Packaging/Fedora-18.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "boost-python" "glibc")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "fftw-libs")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "qt" "qwt")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "PyQt4" "PyQwt")
diff --git a/cmake/Packaging/Ubuntu-10.04.cmake b/cmake/Packaging/Ubuntu-10.04.cmake
index 3320073c6b..c297a50a4c 100644
--- a/cmake/Packaging/Ubuntu-10.04.cmake
+++ b/cmake/Packaging/Ubuntu-10.04.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "libboost-all-dev" "libc6")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt5-qt4")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
diff --git a/cmake/Packaging/Ubuntu-10.10.cmake b/cmake/Packaging/Ubuntu-10.10.cmake
index 3320073c6b..c297a50a4c 100644
--- a/cmake/Packaging/Ubuntu-10.10.cmake
+++ b/cmake/Packaging/Ubuntu-10.10.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "libboost-all-dev" "libc6")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt5-qt4")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
diff --git a/cmake/Packaging/Ubuntu-11.04.cmake b/cmake/Packaging/Ubuntu-11.04.cmake
index c166bcf427..d08ae1d2c5 100644
--- a/cmake/Packaging/Ubuntu-11.04.cmake
+++ b/cmake/Packaging/Ubuntu-11.04.cmake
@@ -1,6 +1,4 @@
#set the debian package dependencies (parsed by our deb component maker)
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "libboost-all-dev" "libc6")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt5-qt4")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
diff --git a/cmake/Packaging/Ubuntu-11.10.cmake b/cmake/Packaging/Ubuntu-11.10.cmake
index 702ce574f3..d27cdae532 100644
--- a/cmake/Packaging/Ubuntu-11.10.cmake
+++ b/cmake/Packaging/Ubuntu-11.10.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "libboost-all-dev" "libc6")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python" "python-numpy")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt6")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
diff --git a/cmake/Packaging/Ubuntu-12.04.cmake b/cmake/Packaging/Ubuntu-12.04.cmake
index 702ce574f3..d27cdae532 100644
--- a/cmake/Packaging/Ubuntu-12.04.cmake
+++ b/cmake/Packaging/Ubuntu-12.04.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "libboost-all-dev" "libc6")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python" "python-numpy")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt6")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
diff --git a/cmake/Packaging/Ubuntu-12.10.cmake b/cmake/Packaging/Ubuntu-12.10.cmake
index 702ce574f3..d27cdae532 100644
--- a/cmake/Packaging/Ubuntu-12.10.cmake
+++ b/cmake/Packaging/Ubuntu-12.10.cmake
@@ -1,5 +1,3 @@
-SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "libboost-all-dev" "libc6")
-SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python" "python-numpy")
SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt6")
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
diff --git a/cmake/msvc/stdbool.h b/cmake/msvc/stdbool.h
new file mode 100644
index 0000000000..ca4581d37a
--- /dev/null
+++ b/cmake/msvc/stdbool.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2005, 2006 Apple Computer, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef STDBOOL_WIN32_H
+#define STDBOOL_WIN32_H
+
+#ifndef _MSC_VER // [
+#error "Use this header only with Microsoft Visual C++ compilers!"
+#endif // _MSC_VER ]
+
+#ifndef __cplusplus
+
+typedef unsigned char bool;
+
+#define true 1
+#define false 0
+
+#ifndef CASSERT
+#define CASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1];
+#endif
+
+CASSERT(sizeof(bool) == 1, bool_is_one_byte)
+CASSERT(true, true_is_true)
+CASSERT(!false, false_is_false)
+
+#endif
+
+#endif