diff --git a/CMakeLists.txt b/CMakeLists.txt index 572f87b..39e078b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,6 +89,7 @@ set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks) # Find gnuradio build dependencies ######################################################################## find_package(GnuradioRuntime) +find_package(Volk) find_package(CppUnit) find_package(Doxygen) @@ -103,6 +104,9 @@ find_package(Doxygen) if(NOT GNURADIO_RUNTIME_FOUND) message(FATAL_ERROR "GnuRadio Runtime required to compile gsm") endif() +if(NOT VOLK_FOUND) + message(FATAL_ERROR "Volk library required to compile gsm") +endif() if(NOT CPPUNIT_FOUND) message(FATAL_ERROR "CppUnit required to compile gsm") endif() diff --git a/cmake/Modules/FindVolk.cmake b/cmake/Modules/FindVolk.cmake new file mode 100644 index 0000000..425eb01 --- /dev/null +++ b/cmake/Modules/FindVolk.cmake @@ -0,0 +1,26 @@ +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(PC_VOLK volk) + +FIND_PATH( + VOLK_INCLUDE_DIRS + NAMES volk/volk.h + HINTS $ENV{VOLK_DIR}/include + ${PC_VOLK_INCLUDEDIR} + PATHS /usr/local/include + /usr/include +) + +FIND_LIBRARY( + VOLK_LIBRARIES + NAMES volk + HINTS $ENV{VOLK_DIR}/lib + ${PC_VOLK_LIBDIR} + PATHS /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 +) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(VOLK DEFAULT_MSG VOLK_LIBRARIES VOLK_INCLUDE_DIRS) +MARK_AS_ADVANCED(VOLK_LIBRARIES VOLK_INCLUDE_DIRS) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index f420820..228897a 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -42,7 +42,7 @@ list(APPEND gsm_sources ) add_library(gnuradio-gsm SHARED ${gsm_sources}) -target_link_libraries(gnuradio-gsm ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} +target_link_libraries(gnuradio-gsm ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${VOLK_LIBRARIES} boost_iostreams boost_system boost_filesystem