Re: [gentoo-dev] How to add -std=c++14 to CXXFLAGS of a cmake.eclass based package?

2022-12-17 Thread Azamat Hackimov
Also, according to commit history, dynamic exception usage was removed
in 
https://github.com/vlabella/GLE/commit/14753e9aba9eb6490358caaeb60f6e36ba314acc,
so you can try to apply this patch.

сб, 17 дек. 2022 г. в 16:05, Azamat Hackimov :
>
> Hello.
>
> You need to add
>
> set(CMAKE_CXX_STANDARD 14)
> set(CMAKE_CXX_STANDARD_REQUIRED ON)
>
> into CMakeLists.txt after project() declaration via patching. Since
> this is an upstream issue, you need to notify upstream about C++17
> incompatibility.
>
> сб, 17 дек. 2022 г. в 14:35, Andrey Grozin :
> >
> > Hello *,
> >
> > I'm trying to package a new version of sci-visualization/gle which now
> > uses cmake. After some patching CMakeLists.txt, it configures
> > successfully. But at build time it spits zillion errors
> >
> > error: ISO C++17 does not allow dynamic exception specifications
> >
> > The natural thing to try is to add -std=c++14 to CXXFLAGS. So I tried
> >
> > src_compile() {
> >  CXXFLAGS="${CXXFLAGS} -std=c++14" cmake_src_compile
> > }
> >
> > but this makes no difference, c++17 is still used. How to convince
> > cmake_src_compile to use -std=c++14?
> >
> > Thanks in advance,
> > Andrey
> >
>
>
> --
> From Siberia with Love!



-- 
>From Siberia with Love!



Re: [gentoo-dev] How to add -std=c++14 to CXXFLAGS of a cmake.eclass based package?

2022-12-17 Thread Andrey Grozin

On Sat, 17 Dec 2022, Arsen Arsenović wrote:

audacity-2.4.2-r3.ebuild has something for this already:
``append-cxxflags -std=gnu++14''

Thanks, this works.

Andrey

Re: [gentoo-dev] How to add -std=c++14 to CXXFLAGS of a cmake.eclass based package?

2022-12-17 Thread Azamat Hackimov
Hello.

You need to add

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

into CMakeLists.txt after project() declaration via patching. Since
this is an upstream issue, you need to notify upstream about C++17
incompatibility.

сб, 17 дек. 2022 г. в 14:35, Andrey Grozin :
>
> Hello *,
>
> I'm trying to package a new version of sci-visualization/gle which now
> uses cmake. After some patching CMakeLists.txt, it configures
> successfully. But at build time it spits zillion errors
>
> error: ISO C++17 does not allow dynamic exception specifications
>
> The natural thing to try is to add -std=c++14 to CXXFLAGS. So I tried
>
> src_compile() {
>  CXXFLAGS="${CXXFLAGS} -std=c++14" cmake_src_compile
> }
>
> but this makes no difference, c++17 is still used. How to convince
> cmake_src_compile to use -std=c++14?
>
> Thanks in advance,
> Andrey
>


-- 
>From Siberia with Love!



Re: [gentoo-dev] How to add -std=c++14 to CXXFLAGS of a cmake.eclass based package?

2022-12-17 Thread parona
Hi,

> but this makes no difference, c++17 is still used. How to convince
> cmake_src_compile to use -std=c++14?

Cmake sets those flags during src_configure (when the build dir is configured) 
and therefore ignores CXXFLAGS entirely during src_compile.

You should set those in src_configure before cmake_src_configure gets called. 
And Arsen Arsenovićs reply applies here on how to use flag-o-matic function 
append-cxxflags to do it.

--
Alfred Wingate



Re: [gentoo-dev] How to add -std=c++14 to CXXFLAGS of a cmake.eclass based package?

2022-12-17 Thread Arsen Arsenović
Hi,

Andrey Grozin  writes:

> Hello *,
>
> I'm trying to package a new version of sci-visualization/gle which now uses
> cmake. After some patching CMakeLists.txt, it configures successfully. But at
> build time it spits zillion errors
>
> error: ISO C++17 does not allow dynamic exception specifications
>
> The natural thing to try is to add -std=c++14 to CXXFLAGS. So I tried
>
> src_compile() {
> CXXFLAGS="${CXXFLAGS} -std=c++14" cmake_src_compile
> }
>
> but this makes no difference, c++17 is still used. How to convince
> cmake_src_compile to use -std=c++14?
>
> Thanks in advance,
> Andrey


audacity-2.4.2-r3.ebuild has something for this already:
``append-cxxflags -std=gnu++14''

Check out flag-o-matic.eclass.  Note that the build system could still
be overriding it, so if that fails, I'd check the compilation commands
for -std=... parameters, as well as CXX_STANDARD_LEVEL, or whatever
cmake calls it.

Hope that helps, have a great day.
-- 
Arsen Arsenović


signature.asc
Description: PGP signature


[gentoo-dev] How to add -std=c++14 to CXXFLAGS of a cmake.eclass based package?

2022-12-17 Thread Andrey Grozin

Hello *,

I'm trying to package a new version of sci-visualization/gle which now 
uses cmake. After some patching CMakeLists.txt, it configures 
successfully. But at build time it spits zillion errors


error: ISO C++17 does not allow dynamic exception specifications

The natural thing to try is to add -std=c++14 to CXXFLAGS. So I tried

src_compile() {
CXXFLAGS="${CXXFLAGS} -std=c++14" cmake_src_compile
}

but this makes no difference, c++17 is still used. How to convince 
cmake_src_compile to use -std=c++14?


Thanks in advance,
Andrey