[CMake] How to set C++ standard?

Craig Scott craig.scott at crascit.com
Thu Apr 20 19:41:50 EDT 2017


You generally shouldn't set CMAKE_CXX_STANDARD on its own, you should also
be explicitly setting CMAKE_CXX_STANDARD_REQUIRED and CMAKE_CXX_EXTENSIONS
to ensure you are getting the behaviour you want. These would also
typically be set by the project's own CMakeLists.txt file rather than being
passed on the cmake command line as cache variables. You may find the
following article helpful:

https://crascit.com/2015/03/28/enabling-cxx11-in-cmake/



On Fri, Apr 21, 2017 at 8:57 AM, Alex Chen <alex_chen at filemaker.com> wrote:

> I tried to set the compiler flag –std=c++14 via cmake command line on
> Linux with –DCMAKE_CXX_STANDARD=14.  The message from ‘make’ shows   *-std=c++11
> –std=gnu++14*
>
> If I do not set that flag, I get *-std=c++11.  *This seem to imply the
> CMAKE_CXX_STANDARD flag sets *gnu++* instead of *c++.  *How do I set the
> flag –std=c++14 then?
>
>
>
> Alex Chen
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/
> opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
>



-- 
Craig Scott
Melbourne, Australia
https://crascit.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20170421/4833d3f3/attachment.html>


More information about the CMake mailing list