aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt56
-rw-r--r--lib/CMakeLists.txt17
-rw-r--r--lib/decoding/CMakeLists.txt15
3 files changed, 57 insertions, 31 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 811cd93..8ad3445 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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)
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 253353b..db440e4 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -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
diff --git a/lib/decoding/CMakeLists.txt b/lib/decoding/CMakeLists.txt
index cbf2a8e..bb5ddde 100644
--- a/lib/decoding/CMakeLists.txt
+++ b/lib/decoding/CMakeLists.txt
@@ -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(