diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Modules/FindGnuradio.cmake | 108 | ||||
-rw-r--r-- | cmake/Modules/FindICE.cmake | 84 | ||||
-rw-r--r-- | cmake/Modules/GnuradioConfig.cmake | 244 | ||||
-rw-r--r-- | cmake/Modules/GrMiscUtils.cmake | 38 | ||||
-rw-r--r-- | cmake/Modules/GrSwig.cmake | 16 | ||||
-rw-r--r-- | cmake/Packaging/Fedora-15.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Fedora-16.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Fedora-17.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Fedora-18.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Ubuntu-10.04.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Ubuntu-10.10.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Ubuntu-11.04.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Ubuntu-11.10.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Ubuntu-12.04.cmake | 2 | ||||
-rw-r--r-- | cmake/Packaging/Ubuntu-12.10.cmake | 2 | ||||
-rw-r--r-- | cmake/msvc/stdbool.h | 45 |
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 |