summaryrefslogtreecommitdiff
path: root/gr-vocoder/lib
diff options
context:
space:
mode:
authorA. Maitland Bottoms <bottoms@debian.org>2014-04-15 19:57:12 -0400
committerJohnathan Corgan <johnathan@corganlabs.com>2014-04-18 10:36:10 -0700
commit0dfb7bc4a4aa51654db08f6b35ecde2fa7da962e (patch)
tree4cc456a826637432add97947cf73c30a2acdd0e2 /gr-vocoder/lib
parent24b9e5bee104769db1bef04feda0c6fd07a3bc29 (diff)
vocoder: use system libraries for libgsm and codec2, if found
Diffstat (limited to 'gr-vocoder/lib')
-rw-r--r--gr-vocoder/lib/CMakeLists.txt74
1 files changed, 72 insertions, 2 deletions
diff --git a/gr-vocoder/lib/CMakeLists.txt b/gr-vocoder/lib/CMakeLists.txt
index 08ff4108d3..67271ee903 100644
--- a/gr-vocoder/lib/CMakeLists.txt
+++ b/gr-vocoder/lib/CMakeLists.txt
@@ -18,6 +18,62 @@
# Boston, MA 02110-1301, USA.
########################################################################
+# Check for system libgsm....
+########################################################################
+if(NOT GR_USE_SYSTEM_LIBGSM)
+ find_path(LIBGSM_INCLUDE_DIR NAMES gsm.h
+ PATHS
+ ${LIBGSM_PKG_INCLUDE_DIRS}
+ /usr/include/gsm
+ /usr/include
+ )
+
+ find_library(LIBGSM_LIBRARIES NAMES gsm
+ PATHS
+ ${LIBGSM_PKG_LIBRARY_DIRS}
+ /usr/lib
+ )
+
+if(LIBGSM_INCLUDE_DIR AND LIBGSM_LIBRARIES)
+ set(GR_USE_SYSTEM_LIBGSM TRUE CACHE INTERNAL "system libgsm found")
+ message(STATUS "Found libgsm: ${LIBGSM_INCLUDE_DIR}, ${LIBGSM_LIBRARIES}")
+else(LIBGSM_INCLUDE_DIR AND LIBGSM_LIBRARIES)
+ set(GR_USE_SYSTEM_LIBGSM FALSE CACHE INTERNAL "system libgsm found")
+ message(STATUS "system libgsm not found.")
+endif(LIBGSM_INCLUDE_DIR AND LIBGSM_LIBRARIES)
+
+mark_as_advanced(LIBGSM_INCLUDE_DIR LIBGSM_LIBRARIES)
+endif(NOT GR_USE_SYSTEM_LIBGSM)
+
+########################################################################
+# Check for system libcodec2....
+########################################################################
+if(NOT GR_USE_SYSTEM_LIBCODEC2)
+ find_path(LIBCODEC2_INCLUDE_DIR NAMES codec2.h
+ PATHS
+ ${LIBCODEC2_PKG_INCLUDE_DIRS}
+ /usr/include/codec2
+ /usr/include
+ )
+
+ find_library(LIBCODEC2_LIBRARIES NAMES codec2
+ PATHS
+ ${LIBCODEC2_PKG_LIBRARY_DIRS}
+ /usr/lib
+ )
+
+if(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
+ set(GR_USE_SYSTEM_LIBCODEC2 TRUE CACHE INTERNAL "system libcodec2 found")
+ message(STATUS "Found libcodec2: ${LIBCODEC2_INCLUDE_DIR}, ${LIBCODEC2_LIBRARIES}")
+else(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
+ set(GR_USE_SYSTEM_LIBCODEC2 FALSE CACHE INTERNAL "system libcodec2 found")
+ message(STATUS "system libcodec2 not found.")
+endif(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
+
+mark_as_advanced(LIBCODEC2_INCLUDE_DIR LIBCODEC2_LIBRARIES)
+endif(NOT GR_USE_SYSTEM_LIBCODEC2)
+
+########################################################################
# Setup the include and linker paths
########################################################################
include_directories(
@@ -77,9 +133,15 @@ endif(MSVC)
########################################################################
# Include subdirs rather to populate to the sources lists.
########################################################################
-GR_INCLUDE_SUBDIRECTORY(codec2)
GR_INCLUDE_SUBDIRECTORY(g7xx)
-GR_INCLUDE_SUBDIRECTORY(gsm)
+
+if(NOT GR_USE_SYSTEM_LIBCODEC2)
+ GR_INCLUDE_SUBDIRECTORY(codec2)
+endif(NOT GR_USE_SYSTEM_LIBCODEC2)
+
+if(NOT GR_USE_SYSTEM_LIBGSM)
+ GR_INCLUDE_SUBDIRECTORY(gsm)
+endif(NOT GR_USE_SYSTEM_LIBGSM)
list(APPEND vocoder_libs
gnuradio-runtime
@@ -87,6 +149,14 @@ list(APPEND vocoder_libs
${LOG4CPP_LIBRARIES}
)
+if(GR_USE_SYSTEM_LIBCODEC2)
+ list(APPEND vocoder_libs ${LIBCODEC2_LIBRARIES})
+endif(GR_USE_SYSTEM_LIBCODEC2)
+
+if(GR_USE_SYSTEM_LIBGSM)
+ list(APPEND vocoder_libs ${LIBGSM_LIBRARIES})
+endif(GR_USE_SYSTEM_LIBGSM)
+
add_library(gnuradio-vocoder SHARED ${gr_vocoder_sources})
target_link_libraries(gnuradio-vocoder ${vocoder_libs})
GR_LIBRARY_FOO(gnuradio-vocoder RUNTIME_COMPONENT "vocoder_runtime" DEVEL_COMPONENT "vocoder_devel")