Le 06/06/2024 à 20:21, Greg Troxel a écrit :
also, I am far from a cmake expert, but I looked in the CMakeFiles  and
cannot find where they

   - try to run the compiler with --std=c++17
set(CMAKE_CXX_STANDARD 17) at
https://github.com/OSGeo/gdal/blob/399a0f55d20755120fa49dec36054d2fa8531fbc/CMakeLists.txt#L41
   - fail the build if that does not work with a message that makes it
     clear that the compiler doesn't work --std=c++17

cf set(CMAKE_CXX_STANDARD_REQUIRED ON) on following line

and https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD_REQUIRED.html#prop_tgt:CXX_STANDARD_REQUIRED

   - if it works, add --std=c++17 to the compiler invocations, because
     requiring a c++17 compiler is fine, but one can't assume that it
     uses it by default

https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html#prop_tgt:CXX_STANDARD:

" For some compilers, this results in adding a flag such as |-std=gnu++11| to the compile line"

So all in all that should do the right thing.

No idea if you need gcc 7 or 8. I don't think we use super advanced C++17 features, so gcc 7 might be fine, but only experimentation would confirm that. I believe the minimum we test on our CI is gcc 9.4 that ships with Ubuntu 20.04

--

http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to