Re: [gentoo-dev] How to add -std=c++14 to CXXFLAGS of a cmake.eclass based package?
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?
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?
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?
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?
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?
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