diff options
author | Dimitri Stolnikov <horiz0n@gmx.net> | 2013-05-29 22:34:40 +0200 |
---|---|---|
committer | Dimitri Stolnikov <horiz0n@gmx.net> | 2013-05-29 22:34:40 +0200 |
commit | 3e6a24e5d9e81878ac57281e7a9d3b23d3dbc6e8 (patch) | |
tree | 0c019966642fb57a39bc0e4b618b7477c6d0c955 /cmake | |
parent | 9912dcd1e6686f7111549e50333148fde630949a (diff) |
convert to gnuradio 3.7 interface
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Modules/FindGnuradioAudio.cmake | 26 | ||||
-rw-r--r-- | cmake/Modules/FindGnuradioCore.cmake | 29 | ||||
-rw-r--r-- | cmake/Modules/FindGnuradioFCD.cmake | 2 | ||||
-rw-r--r-- | cmake/Modules/FindGnuradioIQBalance.cmake | 10 | ||||
-rw-r--r-- | cmake/Modules/FindGnuradioUHD.cmake | 2 | ||||
-rw-r--r-- | cmake/Modules/FindGruel.cmake | 29 | ||||
-rw-r--r-- | cmake/Modules/GrMiscUtils.cmake | 38 | ||||
-rw-r--r-- | cmake/Modules/GrSwig.cmake | 22 |
8 files changed, 58 insertions, 100 deletions
diff --git a/cmake/Modules/FindGnuradioAudio.cmake b/cmake/Modules/FindGnuradioAudio.cmake deleted file mode 100644 index 246568f..0000000 --- a/cmake/Modules/FindGnuradioAudio.cmake +++ /dev/null @@ -1,26 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GNURADIO_AUDIO gnuradio-audio) - -FIND_PATH( - GNURADIO_AUDIO_INCLUDE_DIRS - NAMES gnuradio/gr_audio_api.h - HINTS $ENV{GNURADIO_AUDIO_DIR}/include - ${PC_GNURADIO_AUDIO_INCLUDEDIR} - PATHS /usr/local/include - /usr/include -) - -FIND_LIBRARY( - GNURADIO_AUDIO_LIBRARIES - NAMES gnuradio-audio - HINTS $ENV{GNURADIO_AUDIO_DIR}/lib - ${PC_GNURADIO_AUDIO_LIBDIR} - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_AUDIO DEFAULT_MSG GNURADIO_AUDIO_LIBRARIES GNURADIO_AUDIO_INCLUDE_DIRS) -MARK_AS_ADVANCED(GNURADIO_AUDIO_LIBRARIES GNURADIO_AUDIO_INCLUDE_DIRS) diff --git a/cmake/Modules/FindGnuradioCore.cmake b/cmake/Modules/FindGnuradioCore.cmake deleted file mode 100644 index 6b4386e..0000000 --- a/cmake/Modules/FindGnuradioCore.cmake +++ /dev/null @@ -1,29 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GNURADIO_CORE gnuradio-core) - -FIND_PATH( - GNURADIO_CORE_INCLUDE_DIRS - NAMES gr_core_api.h - HINTS $ENV{GNURADIO_CORE_DIR}/include/gnuradio - ${PC_GNURADIO_CORE_INCLUDEDIR} - ${CMAKE_INSTALL_PREFIX}/include/gnuradio - PATHS /usr/local/include/gnuradio - /usr/include/gnuradio -) - -FIND_LIBRARY( - GNURADIO_CORE_LIBRARIES - NAMES gnuradio-core - HINTS $ENV{GNURADIO_CORE_DIR}/lib - ${PC_GNURADIO_CORE_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib64 - ${CMAKE_INSTALL_PREFIX}/lib - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_CORE DEFAULT_MSG GNURADIO_CORE_LIBRARIES GNURADIO_CORE_INCLUDE_DIRS) -MARK_AS_ADVANCED(GNURADIO_CORE_LIBRARIES GNURADIO_CORE_INCLUDE_DIRS) diff --git a/cmake/Modules/FindGnuradioFCD.cmake b/cmake/Modules/FindGnuradioFCD.cmake index bbde835..e7d7670 100644 --- a/cmake/Modules/FindGnuradioFCD.cmake +++ b/cmake/Modules/FindGnuradioFCD.cmake @@ -3,7 +3,7 @@ PKG_CHECK_MODULES(PC_GNURADIO_FCD gnuradio-fcd) FIND_PATH( GNURADIO_FCD_INCLUDE_DIRS - NAMES gnuradio/fcd_api.h + NAMES gnuradio/fcd/api.h HINTS $ENV{GNURADIO_FCD_DIR}/include ${PC_GNURADIO_FCD_INCLUDEDIR} PATHS /usr/local/include diff --git a/cmake/Modules/FindGnuradioIQBalance.cmake b/cmake/Modules/FindGnuradioIQBalance.cmake index 642ee3f..30cc20c 100644 --- a/cmake/Modules/FindGnuradioIQBalance.cmake +++ b/cmake/Modules/FindGnuradioIQBalance.cmake @@ -3,12 +3,12 @@ PKG_CHECK_MODULES(PC_GNURADIO_IQBALANCE gnuradio-iqbalance) FIND_PATH( GNURADIO_IQBALANCE_INCLUDE_DIRS - NAMES iqbalance_api.h - HINTS $ENV{GNURADIO_IQBALANCE_DIR}/include/iqbalance + NAMES iqbalance/api.h + HINTS $ENV{GNURADIO_IQBALANCE_DIR}/include ${PC_GNURADIO_IQBALANCE_INCLUDEDIR} - ${CMAKE_INSTALL_PREFIX}/include/iqbalance - PATHS /usr/local/include/iqbalance - /usr/include/iqbalance + ${CMAKE_INSTALL_PREFIX}/include + PATHS /usr/local/include + /usr/include ) FIND_LIBRARY( diff --git a/cmake/Modules/FindGnuradioUHD.cmake b/cmake/Modules/FindGnuradioUHD.cmake index 33c437d..f99daf0 100644 --- a/cmake/Modules/FindGnuradioUHD.cmake +++ b/cmake/Modules/FindGnuradioUHD.cmake @@ -3,7 +3,7 @@ PKG_CHECK_MODULES(PC_GNURADIO_UHD gnuradio-uhd) FIND_PATH( GNURADIO_UHD_INCLUDE_DIRS - NAMES gnuradio/gr_uhd_api.h + NAMES gnuradio/uhd/api.h HINTS $ENV{GNURADIO_UHD_DIR}/include ${PC_GNURADIO_UHD_INCLUDEDIR} PATHS /usr/local/include diff --git a/cmake/Modules/FindGruel.cmake b/cmake/Modules/FindGruel.cmake deleted file mode 100644 index 1d044ee..0000000 --- a/cmake/Modules/FindGruel.cmake +++ /dev/null @@ -1,29 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GRUEL gruel) - -FIND_PATH( - GRUEL_INCLUDE_DIRS - NAMES gruel/attributes.h - HINTS $ENV{GRUEL_DIR}/include - ${PC_GRUEL_INCLUDEDIR} - ${CMAKE_INSTALL_PREFIX}/include - PATHS /usr/local/include - /usr/include -) - -FIND_LIBRARY( - GRUEL_LIBRARIES - NAMES gruel - HINTS $ENV{GRUEL_DIR}/lib - ${PC_GRUEL_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib - ${CMAKE_INSTALL_PREFIX}/lib64 - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GRUEL DEFAULT_MSG GRUEL_LIBRARIES GRUEL_INCLUDE_DIRS) -MARK_AS_ADVANCED(GRUEL_LIBRARIES GRUEL_INCLUDE_DIRS) diff --git a/cmake/Modules/GrMiscUtils.cmake b/cmake/Modules/GrMiscUtils.cmake index 69ff1f5..3d9a5f5 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 b9bf0bb..8cf1265 100644 --- a/cmake/Modules/GrSwig.cmake +++ b/cmake/Modules/GrSwig.cmake @@ -105,21 +105,35 @@ 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 find_package(PythonLibs) list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs) list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}) + + #prepend local swig directories + list(INSERT GR_SWIG_INCLUDE_DIRS 0 ${CMAKE_CURRENT_SOURCE_DIR}) + list(INSERT GR_SWIG_INCLUDE_DIRS 0 ${CMAKE_CURRENT_BINARY_DIR}) #determine include dependencies for swig file execute_process( |