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(Volk)
|
||||
find_package(CppUnit)
|
||||
find_package(Doxygen)
|
||||
#find_package(Libosmocore)
|
||||
#find_package(Libosmocoding)
|
||||
#find_package(Libosmocodec)
|
||||
#find_package(Doxygen)
|
||||
find_package(Libosmocore)
|
||||
find_package(Libosmocodec)
|
||||
find_package(Libosmocoding)
|
||||
|
||||
|
||||
if(NOT GNURADIO_RUNTIME_FOUND)
|
||||
message(FATAL_ERROR "GnuRadio Runtime required to compile gr-gsm")
|
||||
|
@ -146,18 +147,14 @@ endif()
|
|||
if(NOT VOLK_FOUND)
|
||||
message(FATAL_ERROR "Volk library required to compile gr-gsm")
|
||||
endif()
|
||||
#if(NOT CPPUNIT_FOUND)
|
||||
# message(FATAL_ERROR "CppUnit required to compile gr-gsm")
|
||||
#endif()
|
||||
#if(NOT LIBOSMOCORE_FOUND)
|
||||
# message(FATAL_ERROR "Libosmocore required to compile gr-gsm")
|
||||
#endif()
|
||||
#if(NOT LIBOSMOCODEC_FOUND)
|
||||
# message(FATAL_ERROR "Libosmocodec required to compile gr-gsm")
|
||||
#endif()
|
||||
#if(NOT LIBOSMOCODING_FOUND)
|
||||
# message(FATAL_ERROR "Libosmocoding required to compile gr-gsm")
|
||||
#endif()
|
||||
if(NOT CPPUNIT_FOUND)
|
||||
message(FATAL_ERROR "CppUnit required to compile gr-gsm")
|
||||
endif()
|
||||
if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND)
|
||||
message(STATUS "Compiling local version of libosmocore and libosmocodec")
|
||||
elseif(NOT LIBOSMOCODING_FOUND)
|
||||
message(STATUS "Compiling local version of libosmocoding")
|
||||
endif()
|
||||
|
||||
########################################################################
|
||||
# Setup doxygen option
|
||||
|
@ -165,13 +162,13 @@ endif()
|
|||
#if(DOXYGEN_FOUND)
|
||||
# option(ENABLE_DOXYGEN "Build docs using Doxygen" ON)
|
||||
#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)
|
||||
|
||||
########################################################################
|
||||
# Setup the include and linker paths
|
||||
########################################################################
|
||||
include_directories(
|
||||
list (APPEND grgsm_include_directories
|
||||
${CMAKE_SOURCE_DIR}/lib
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
${CMAKE_BINARY_DIR}/lib
|
||||
|
@ -179,16 +176,35 @@ include_directories(
|
|||
${Boost_INCLUDE_DIRS}
|
||||
${CPPUNIT_INCLUDE_DIRS}
|
||||
${GNURADIO_ALL_INCLUDE_DIRS}
|
||||
# ${LIBOSMOCORE_INCLUDE_DIR}
|
||||
${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}
|
||||
${CPPUNIT_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(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)
|
||||
|
|
|
@ -81,17 +81,22 @@ 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})
|
||||
list (APPEND grgsm_link_libraries ${Boost_LIBRARIES})
|
||||
if(WIN32)
|
||||
list (APPEND grgsm_link_libraries wsock32)
|
||||
list (APPEND grgsm_link_libraries ws2_32)
|
||||
list (APPEND grgsm_link_libraries wsock32)
|
||||
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()
|
||||
|
||||
|
||||
|
||||
add_library(grgsm SHARED ${grgsm_sources})
|
||||
target_link_libraries(grgsm ${grgsm_link_libraries} #${LIBOSMOCORE_LIBRARIES}
|
||||
# ${LIBOSMOCODEC_LIBRARIES}
|
||||
# ${LIBOSMOCODING_LIBRARIES}
|
||||
target_link_libraries(grgsm ${grgsm_link_libraries}
|
||||
# libraries required by plotting.h - have troubles to be installed by pybombs
|
||||
# boost_iostreams
|
||||
# boost_system
|
||||
|
|
|
@ -17,11 +17,16 @@
|
|||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
|
||||
add_subdirectory(osmocom/coding)
|
||||
add_subdirectory(osmocom/core)
|
||||
add_subdirectory(osmocom/codec)
|
||||
add_subdirectory(osmocom/gsm)
|
||||
add_subdirectory(osmocom/crypt)
|
||||
if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND)
|
||||
message(STATUS "Libosmocore installation not found - compiling local version")
|
||||
add_subdirectory(osmocom/core)
|
||||
add_subdirectory(osmocom/codec)
|
||||
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_sources(
|
||||
|
|
Loading…
Reference in New Issue