diff options
Diffstat (limited to 'lib/CMakeLists.txt')
-rw-r--r-- | lib/CMakeLists.txt | 106 |
1 files changed, 54 insertions, 52 deletions
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 0f2c629..e7dae14 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011,2012,2016,2018,2019 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # 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 @@ -17,8 +18,10 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. +######################################################################## +# Setup library +######################################################################## include(GrPlatform) #define LIB_SUFFIX -include(GrMiscUtils) ######################################################################## # Add sources macro @@ -44,7 +47,7 @@ endmacro() # Handle the generated constants ######################################################################## execute_process(COMMAND ${PYTHON_EXECUTABLE} -c - "import time;print time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime())" + "import time;print(time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime()))" OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE ) message(STATUS "Loading build date ${BUILD_DATE} into constants...") @@ -73,69 +76,68 @@ add_subdirectory(receiver) add_subdirectory(transmitter) add_subdirectory(trx) -######################################################################## -# Setup library -######################################################################## -include_directories(${Boost_INCLUDE_DIR} receiver) -link_directories(${Boost_LIBRARY_DIRS}) - -set(grgsm_link_libraries "") -list (APPEND grgsm_link_libraries ${Boost_LIBRARIES}) -list (APPEND grgsm_link_libraries ${GNURADIO_ALL_LIBRARIES}) -list (APPEND grgsm_link_libraries ${VOLK_LIBRARIES}) -if(WIN32) - list (APPEND grgsm_link_libraries wsock32) - list (APPEND grgsm_link_libraries ws2_32) -endif() - if(NOT LOCAL_OSMOCOM) list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES} ${LIBOSMOGSM_LIBRARY}) if(LIBOSMOCODING_FOUND) - list (APPEND grgsm_link_libraries ${LIBOSMOCODING_LIBRARIES}) + list (APPEND grgsm_link_libraries + ${LIBOSMOCODING_LIBRARIES} + ) + list (APPEND grgsm_include_directories + ${LIBOSMOCORE_INCLUDE_DIR} + ) endif() endif() add_library(grgsm SHARED ${grgsm_sources}) -target_link_libraries(grgsm ${grgsm_link_libraries} -# libraries required by plotting.h - have troubles to be installed by pybombs -# boost_iostreams -# boost_system -# boost_filesystem -) - +target_link_libraries(grgsm gnuradio::gnuradio-runtime gnuradio::gnuradio-filter volk osmocoding) +target_include_directories(grgsm + PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include> + PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/receiver> + PUBLIC $<BUILD_INTERFACE:${Boost_INCLUDE_DIR}> + PUBLIC $<INSTALL_INTERFACE:include> + ) set_target_properties(grgsm PROPERTIES DEFINE_SYMBOL "grgsm_EXPORTS") -GR_LIBRARY_FOO(grgsm) + +if(APPLE) + set_target_properties(grgsm PROPERTIES + INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" + ) +endif(APPLE) ######################################################################## # Install built library files ######################################################################## -install(TARGETS grgsm - LIBRARY DESTINATION lib${LIB_SUFFIX} # .so/.dylib file - ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file - RUNTIME DESTINATION bin # .dll file -) +include(GrMiscUtils) +GR_LIBRARY_FOO(grgsm) ######################################################################## -# Build and register unit test +# Print summary ######################################################################## -#include(GrTest) - -#include_directories(${CPPUNIT_INCLUDE_DIRS}) +message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "Building for version: ${VERSION} / ${LIBVER}") -#list(APPEND test_grgsm_sources -# ${CMAKE_CURRENT_SOURCE_DIR}/test_gsm.cc -# ${CMAKE_CURRENT_SOURCE_DIR}/qa_gsm.cc -# ${CMAKE_CURRENT_SOURCE_DIR}/qa_receiver.cc -#) +set (grgsm_sources ${grgsm_sources} PARENT_SCOPE) -#add_executable(test-gsm ${test_grgsm_sources}) - -#target_link_libraries( -# test-gsm -# ${GNURADIO_RUNTIME_LIBRARIES} -# ${Boost_LIBRARIES} -# ${CPPUNIT_LIBRARIES} -# grgsm -#) +######################################################################## +# Build and register unit test +######################################################################## +include(GrTest) -#GR_ADD_TEST(test_gsm test-gsm) +# If your unit tests require special include paths, add them here +#include_directories() +# List all files that contain Boost.UTF unit tests here +list(APPEND test_gsm_sources +) +# Anything we need to link to for the unit tests go here +list(APPEND GR_TEST_TARGET_DEPS grgsm) + +if(NOT test_gsm_sources) + MESSAGE(STATUS "No C++ unit tests... skipping") + return() +endif(NOT test_gsm_sources) + +foreach(qa_file ${test_gsm_sources}) + GR_ADD_CPP_TEST("gsm_${qa_file}" + ${CMAKE_CURRENT_SOURCE_DIR}/${qa_file} + ) +endforeach(qa_file) |