Hi!
I understand the issue, but as GR maintainer:
I'm sorry Dave, I'm afraid I can't do that.
Two reasons:
1. master hasn't been 3.8 compat in a long time now. The removal of all
the Py2 would be one indication, but we've also messed around with
enough C++ symbols to break our compatibility contract even if you're
already using Py3.
2. How should GR know when changes *don't* break submodules?
So, however, Sylvain is right, we need to change GR a bit. One way
forward is to change our ...Version.cmake to
* set PACKAGE_VERSION_COMPATIBLE on
REQUESTED MAJOR==GR MAJOR && GR VERSION >= REQUESTED VERSION
* set PACKAGE_VERSION_EXACT on
GR VERSION == REQUESTED VERSION
(all digits specified, not just the first three)
Since this is a very upstream discussion to have, let's move it to GNU
Radio's sphere:
https://github.com/gnuradio/gnuradio/issues/3188
Best regards,
Marcus
On Sat, 2020-02-08 at 15:55 +0100, Sylvain Munaut wrote:
IMHO the change should be in the gnuradio tree itself where the
GnuraidoConfig cmake version check should be ignored (or accept 3.8)
for git dev versions.
That's something that was discussed / brought up at the hackfest last
week.
Cheers,
Sylvain
On Sat, Feb 8, 2020 at 3:48 PM <argilo(a)gmail.com> wrote:
> From: Clayton Smith <argilo(a)gmail.com>
>
> Currently gr-osmosdr does not build with GNU Radio's master branch,
> which declares itself to be version 3.9. This change allows both
> 3.8
> and 3.9.
> ---
> CMakeLists.txt | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index 56c1a6b185..f3186dee0c 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -42,7 +42,13 @@ set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE
> STRING "")
> list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
>
> # Find GNURadio (pmt and runtime are core, always included)
> -find_package(Gnuradio "3.8" REQUIRED COMPONENTS blocks fft filter)
> +find_package(Gnuradio "3.8" COMPONENTS blocks fft filter)
> +if(NOT Gnuradio_FOUND)
> + find_package(Gnuradio "3.9" COMPONENTS blocks fft filter)
> + if(NOT Gnuradio_FOUND)
> + message(FATAL_ERROR "Unable to find GNURadio")
> + ENDIF(NOT Gnuradio_FOUND)
> +ENDIF(NOT Gnuradio_FOUND)
>
> # Set the version information here
> set(VERSION_MAJOR 0)
> --
> 2.17.1
>