summaryrefslogtreecommitdiff
path: root/cmake/Modules
diff options
context:
space:
mode:
authorDavide Gerhard <rainbow@irh.it>2019-11-05 18:46:46 +0100
committerMichael Dickens <michael.dickens@ettus.com>2019-11-05 14:54:19 -0500
commit19cac6cb29e664cbeac731964588732b61c8573b (patch)
treeb03d1319149ce6c3753dde1ec1ae5e02a9e2c1e6 /cmake/Modules
parent218d2c2029a8c4557906bbe55a56292f568f0910 (diff)
codec2: fix support for codec2 version < 0.8
codec2 version < 0.8 doesn't provide codec2/version.h header therefore cmake discovers if it is available. fix gr-vocoder build on ubuntu < 19.04 and debian < 10 Closes: https://github.com/gnuradio/gnuradio/pull/2858#issuecomment-549391165
Diffstat (limited to 'cmake/Modules')
-rw-r--r--cmake/Modules/FindCodec2.cmake12
1 files changed, 12 insertions, 0 deletions
diff --git a/cmake/Modules/FindCodec2.cmake b/cmake/Modules/FindCodec2.cmake
index 0c94ad0a0a..f33de4dcde 100644
--- a/cmake/Modules/FindCodec2.cmake
+++ b/cmake/Modules/FindCodec2.cmake
@@ -61,6 +61,18 @@ if(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
else()
set(LIBCODEC2_HAS_FREEDV_API false)
endif()
+
+ # we need to discover if codec2 < 0.9
+ # moreover, codec2 < 0.8 doesn't provide codec2/version.h
+ if(EXISTS "${LIBCODEC2_INCLUDE_DIRS}/version.h")
+ file(READ "${LIBCODEC2_INCLUDE_DIRS}/version.h" _CODEC2_VERSION_H_CONTENTS)
+ string(REGEX MATCH "CODEC2_VERSION_MAJOR ([0-9]+)(.*)CODEC2_VERSION_MINOR ([0-9]+)" _CODEC2_TMP_MATCH " ${_CODEC2_VERSION_H_CONTENTS}")
+ if((CMAKE_MATCH_1 EQUAL 0) AND (CMAKE_MATCH_3 LESS 9))
+ add_definitions(-DCODEC2_LEGACY)
+ endif()
+ else()
+ add_definitions(-DCODEC2_LEGACY)
+ endif()
endif(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBCODEC2 DEFAULT_MSG LIBCODEC2_LIBRARIES LIBCODEC2_INCLUDE_DIRS)