summaryrefslogtreecommitdiff
path: root/gr-vocoder/lib
diff options
context:
space:
mode:
Diffstat (limited to 'gr-vocoder/lib')
-rw-r--r--gr-vocoder/lib/CMakeLists.txt81
-rw-r--r--gr-vocoder/lib/g7xx/CMakeLists.txt30
2 files changed, 27 insertions, 84 deletions
diff --git a/gr-vocoder/lib/CMakeLists.txt b/gr-vocoder/lib/CMakeLists.txt
index ca5647ae31..3890bb2d99 100644
--- a/gr-vocoder/lib/CMakeLists.txt
+++ b/gr-vocoder/lib/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright 2011,2013,2016 Free Software Foundation, Inc.
+# Copyright 2011,2013,2016,2019 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -18,24 +18,9 @@
# Boston, MA 02110-1301, USA.
########################################################################
-# Setup the include and linker paths
-########################################################################
-include_directories(
- ${GR_VOCODER_INCLUDE_DIRS}
- ${GNURADIO_RUNTIME_INCLUDE_DIRS}
- ${Boost_INCLUDE_DIRS}
-)
-
-link_directories(${Boost_LIBRARY_DIRS})
-
-if(ENABLE_GR_CTRLPORT)
- ADD_DEFINITIONS(-DGR_CTRLPORT)
-endif(ENABLE_GR_CTRLPORT)
-
-########################################################################
# Setup library
########################################################################
-list(APPEND gr_vocoder_sources
+add_library(gnuradio-vocoder
alaw_decode_bs_impl.cc
alaw_encode_sb_impl.cc
cvsd_decode_bs_impl.cc
@@ -49,22 +34,30 @@ list(APPEND gr_vocoder_sources
ulaw_decode_bs_impl.cc
ulaw_encode_sb_impl.cc
)
+target_include_directories(gnuradio-vocoder
+ PUBLIC $<INSTALL_INTERFACE:include>
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
+)
+target_link_libraries(gnuradio-vocoder PUBLIC
+ gnuradio-runtime
+)
+
if(LIBCODEC2_FOUND)
- list(APPEND gr_vocoder_sources
+ target_sources(gnuradio-vocoder PRIVATE
codec2.cc
codec2_decode_ps_impl.cc
codec2_encode_sp_impl.cc
)
endif(LIBCODEC2_FOUND)
if(LIBCODEC2_HAS_FREEDV_API)
- list(APPEND gr_vocoder_sources
+ target_sources(gnuradio-vocoder PRIVATE
freedv_api.cc
freedv_rx_ss_impl.cc
freedv_tx_ss_impl.cc
)
endif(LIBCODEC2_HAS_FREEDV_API)
if(LIBGSM_FOUND)
- list(APPEND gr_vocoder_sources
+ target_sources(gnuradio-vocoder PRIVATE
gsm_fr_decode_ps_impl.cc
gsm_fr_encode_sp_impl.cc
)
@@ -87,45 +80,25 @@ endif(MSVC)
########################################################################
# Include subdirs rather to populate to the sources lists.
########################################################################
-GR_INCLUDE_SUBDIRECTORY(g7xx)
-
-list(APPEND vocoder_libs
- gnuradio-runtime
- ${Boost_LIBRARIES}
+target_sources(gnuradio-vocoder PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/g7xx/g711.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/g7xx/g72x.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/g7xx/g721.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/g7xx/g723_24.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/g7xx/g723_40.c
)
+set(external_deps "")
if(LIBCODEC2_LIBRARIES)
- list(APPEND vocoder_libs ${LIBCODEC2_LIBRARIES})
+ target_link_libraries(gnuradio-vocoder PUBLIC CODEC2::CODEC2)
+ list(APPEND external_deps Codec2)
endif(LIBCODEC2_LIBRARIES)
if(LIBGSM_LIBRARIES)
- list(APPEND vocoder_libs ${LIBGSM_LIBRARIES})
+ target_link_libraries(gnuradio-vocoder PUBLIC GSM::GSM)
+ list(APPEND external_deps GSM)
endif(LIBGSM_LIBRARIES)
-add_library(gnuradio-vocoder SHARED ${gr_vocoder_sources})
-target_link_libraries(gnuradio-vocoder ${vocoder_libs})
-GR_LIBRARY_FOO(gnuradio-vocoder)
-
-if(ENABLE_STATIC_LIBS)
- if(ENABLE_GR_CTRLPORT)
- # Remove GR_CTRLPORT set this target's definitions.
- # Makes sure we don't try to use ControlPort stuff in source files
- GET_DIRECTORY_PROPERTY(STATIC_DEFS COMPILE_DEFINITIONS)
- list(REMOVE_ITEM STATIC_DEFS "GR_CTRLPORT")
- SET_PROPERTY(DIRECTORY PROPERTY COMPILE_DEFINITIONS "${STATIC_DEFS}")
-
- # readd it to the target since we removed it from the directory-wide list.
- SET_PROPERTY(TARGET gnuradio-vocoder APPEND PROPERTY COMPILE_DEFINITIONS "GR_CTRLPORT")
- endif(ENABLE_GR_CTRLPORT)
-
- add_library(gnuradio-vocoder_static STATIC ${gr_vocoder_sources})
-
- if(NOT WIN32)
- set_target_properties(gnuradio-vocoder_static
- PROPERTIES OUTPUT_NAME gnuradio-vocoder)
- endif(NOT WIN32)
-
- install(TARGETS gnuradio-vocoder_static
- ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file
- )
-endif(ENABLE_STATIC_LIBS)
+if (BUILD_SHARED_LIBS)
+ GR_LIBRARY_FOO(gnuradio-vocoder ${external_deps})
+endif()
diff --git a/gr-vocoder/lib/g7xx/CMakeLists.txt b/gr-vocoder/lib/g7xx/CMakeLists.txt
deleted file mode 100644
index 246af0e9fa..0000000000
--- a/gr-vocoder/lib/g7xx/CMakeLists.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# 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
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-########################################################################
-# Append all sources in this dir
-########################################################################
-include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
-list(APPEND gr_vocoder_sources
- ${CMAKE_CURRENT_SOURCE_DIR}/g711.c
- ${CMAKE_CURRENT_SOURCE_DIR}/g72x.c
- ${CMAKE_CURRENT_SOURCE_DIR}/g721.c
- ${CMAKE_CURRENT_SOURCE_DIR}/g723_24.c
- ${CMAKE_CURRENT_SOURCE_DIR}/g723_40.c
-)