Conditional compilation of local libosmocore depending if there is or is not libosmocore installation present on the system
This commit is contained in:
parent
d8a576618d
commit
1a5e87ea1a
|
@ -135,10 +135,11 @@ set(GR_REQUIRED_COMPONENTS RUNTIME FILTER PMT)
|
||||||
find_package(Gnuradio)
|
find_package(Gnuradio)
|
||||||
find_package(Volk)
|
find_package(Volk)
|
||||||
find_package(CppUnit)
|
find_package(CppUnit)
|
||||||
find_package(Doxygen)
|
#find_package(Doxygen)
|
||||||
#find_package(Libosmocore)
|
find_package(Libosmocore)
|
||||||
#find_package(Libosmocoding)
|
find_package(Libosmocodec)
|
||||||
#find_package(Libosmocodec)
|
find_package(Libosmocoding)
|
||||||
|
|
||||||
|
|
||||||
if(NOT GNURADIO_RUNTIME_FOUND)
|
if(NOT GNURADIO_RUNTIME_FOUND)
|
||||||
message(FATAL_ERROR "GnuRadio Runtime required to compile gr-gsm")
|
message(FATAL_ERROR "GnuRadio Runtime required to compile gr-gsm")
|
||||||
|
@ -146,18 +147,14 @@ endif()
|
||||||
if(NOT VOLK_FOUND)
|
if(NOT VOLK_FOUND)
|
||||||
message(FATAL_ERROR "Volk library required to compile gr-gsm")
|
message(FATAL_ERROR "Volk library required to compile gr-gsm")
|
||||||
endif()
|
endif()
|
||||||
#if(NOT CPPUNIT_FOUND)
|
if(NOT CPPUNIT_FOUND)
|
||||||
# message(FATAL_ERROR "CppUnit required to compile gr-gsm")
|
message(FATAL_ERROR "CppUnit required to compile gr-gsm")
|
||||||
#endif()
|
endif()
|
||||||
#if(NOT LIBOSMOCORE_FOUND)
|
if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND)
|
||||||
# message(FATAL_ERROR "Libosmocore required to compile gr-gsm")
|
message(STATUS "Compiling local version of libosmocore and libosmocodec")
|
||||||
#endif()
|
elseif(NOT LIBOSMOCODING_FOUND)
|
||||||
#if(NOT LIBOSMOCODEC_FOUND)
|
message(STATUS "Compiling local version of libosmocoding")
|
||||||
# message(FATAL_ERROR "Libosmocodec required to compile gr-gsm")
|
endif()
|
||||||
#endif()
|
|
||||||
#if(NOT LIBOSMOCODING_FOUND)
|
|
||||||
# message(FATAL_ERROR "Libosmocoding required to compile gr-gsm")
|
|
||||||
#endif()
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Setup doxygen option
|
# Setup doxygen option
|
||||||
|
@ -165,13 +162,13 @@ endif()
|
||||||
#if(DOXYGEN_FOUND)
|
#if(DOXYGEN_FOUND)
|
||||||
# option(ENABLE_DOXYGEN "Build docs using Doxygen" ON)
|
# option(ENABLE_DOXYGEN "Build docs using Doxygen" ON)
|
||||||
#else(DOXYGEN_FOUND)
|
#else(DOXYGEN_FOUND)
|
||||||
option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF)
|
option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF) #TODO: write doxygen docs
|
||||||
#endif(DOXYGEN_FOUND)
|
#endif(DOXYGEN_FOUND)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Setup the include and linker paths
|
# Setup the include and linker paths
|
||||||
########################################################################
|
########################################################################
|
||||||
include_directories(
|
list (APPEND grgsm_include_directories
|
||||||
${CMAKE_SOURCE_DIR}/lib
|
${CMAKE_SOURCE_DIR}/lib
|
||||||
${CMAKE_SOURCE_DIR}/include
|
${CMAKE_SOURCE_DIR}/include
|
||||||
${CMAKE_BINARY_DIR}/lib
|
${CMAKE_BINARY_DIR}/lib
|
||||||
|
@ -179,16 +176,35 @@ include_directories(
|
||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
${CPPUNIT_INCLUDE_DIRS}
|
${CPPUNIT_INCLUDE_DIRS}
|
||||||
${GNURADIO_ALL_INCLUDE_DIRS}
|
${GNURADIO_ALL_INCLUDE_DIRS}
|
||||||
# ${LIBOSMOCORE_INCLUDE_DIR}
|
|
||||||
${CMAKE_SOURCE_DIR}/lib/decoding
|
${CMAKE_SOURCE_DIR}/lib/decoding
|
||||||
)
|
)
|
||||||
|
|
||||||
link_directories(
|
if(LIBOSMOCORE_FOUND)
|
||||||
|
list (APPEND grgsm_include_directories
|
||||||
|
${LIBOSMOCORE_INCLUDE_DIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
${grgsm_include_directories}
|
||||||
|
)
|
||||||
|
|
||||||
|
list (APPEND
|
||||||
${Boost_LIBRARY_DIRS}
|
${Boost_LIBRARY_DIRS}
|
||||||
${CPPUNIT_LIBRARY_DIRS}
|
${CPPUNIT_LIBRARY_DIRS}
|
||||||
${GNURADIO_ALL_LIBRARY_DIRS}
|
${GNURADIO_ALL_LIBRARY_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(LIBOSMOCORE_FOUND)
|
||||||
|
list (APPEND grgsm_link_directories
|
||||||
|
${LIBOSMOCORE_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
link_directories(
|
||||||
|
${grgsm_link_directories}
|
||||||
|
)
|
||||||
|
|
||||||
# Set component parameters
|
# Set component parameters
|
||||||
set(GR_GSM_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE)
|
set(GR_GSM_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE)
|
||||||
set(GR_GSM_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE)
|
set(GR_GSM_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE)
|
||||||
|
|
|
@ -81,17 +81,22 @@ set(grgsm_link_libraries "")
|
||||||
list (APPEND grgsm_link_libraries ${Boost_LIBRARIES})
|
list (APPEND grgsm_link_libraries ${Boost_LIBRARIES})
|
||||||
list (APPEND grgsm_link_libraries ${GNURADIO_ALL_LIBRARIES})
|
list (APPEND grgsm_link_libraries ${GNURADIO_ALL_LIBRARIES})
|
||||||
list (APPEND grgsm_link_libraries ${VOLK_LIBRARIES})
|
list (APPEND grgsm_link_libraries ${VOLK_LIBRARIES})
|
||||||
list (APPEND grgsm_link_libraries ${Boost_LIBRARIES})
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
list (APPEND grgsm_link_libraries wsock32)
|
list (APPEND grgsm_link_libraries wsock32)
|
||||||
list (APPEND grgsm_link_libraries ws2_32)
|
list (APPEND grgsm_link_libraries ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(LIBOSMOCORE_FOUND AND LIBOSMOCODEC_FOUND)
|
||||||
|
list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES})
|
||||||
|
if(LIBOSMOCODING_FOUND)
|
||||||
|
list (APPEND grgsm_link_libraries ${LIBOSMOCODING_LIBRARIES})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
add_library(grgsm SHARED ${grgsm_sources})
|
add_library(grgsm SHARED ${grgsm_sources})
|
||||||
target_link_libraries(grgsm ${grgsm_link_libraries} #${LIBOSMOCORE_LIBRARIES}
|
target_link_libraries(grgsm ${grgsm_link_libraries}
|
||||||
# ${LIBOSMOCODEC_LIBRARIES}
|
|
||||||
# ${LIBOSMOCODING_LIBRARIES}
|
|
||||||
# libraries required by plotting.h - have troubles to be installed by pybombs
|
# libraries required by plotting.h - have troubles to be installed by pybombs
|
||||||
# boost_iostreams
|
# boost_iostreams
|
||||||
# boost_system
|
# boost_system
|
||||||
|
|
|
@ -17,11 +17,16 @@
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
# the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
# Boston, MA 02110-1301, USA.
|
# Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
add_subdirectory(osmocom/coding)
|
if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND)
|
||||||
add_subdirectory(osmocom/core)
|
message(STATUS "Libosmocore installation not found - compiling local version")
|
||||||
add_subdirectory(osmocom/codec)
|
add_subdirectory(osmocom/core)
|
||||||
add_subdirectory(osmocom/gsm)
|
add_subdirectory(osmocom/codec)
|
||||||
add_subdirectory(osmocom/crypt)
|
add_subdirectory(osmocom/gsm)
|
||||||
|
elseif(NOT LIBOSMOCODING_FOUND)
|
||||||
|
message(STATUS "Libosmocore found but libosmocoding is missing - compiling local version")
|
||||||
|
add_subdirectory(osmocom/coding)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(openbts)
|
add_subdirectory(openbts)
|
||||||
|
|
||||||
add_sources(
|
add_sources(
|
||||||
|
|
Loading…
Reference in New Issue