[CMake] Setting CXX_STANDARD 11 Enables GNU Extensions

Thompson, KT kgt at lanl.gov
Sat Jul 4 15:52:42 EDT 2015


Try setting CMAKE_CXX_EXTENSIONS this to OFF.

http://www.cmake.org/cmake/help/v3.2/prop_tgt/CXX_EXTENSIONS.html#prop_tgt:CXX_EXTENSIONS

From: CMake [mailto:cmake-bounces at cmake.org] On Behalf Of Scott Aron Bloom
Sent: Saturday, July 04, 2015 1:17 AM
To: digitalriptide; cmake at cmake.org
Subject: Re: [CMake] Setting CXX_STANDARD 11 Enables GNU Extensions

This is why I don’t use the CXX_STANDARD and instead use the CXX_FLAGS and add the flag I need.

From: CMake [mailto:cmake-bounces at cmake.org] On Behalf Of digitalriptide
Sent: Friday, July 3, 2015 1:56 PM
To: cmake at cmake.org<mailto:cmake at cmake.org>
Subject: [CMake] Setting CXX_STANDARD 11 Enables GNU Extensions

If I enable C++11 for some target via
set_target_properties( SomeTarget PROPERTIES CXX_STANDARD 11 )
set_target_properties( SomeTarget PROPERTIES CXX_STANDARD_REQUIRED ON )
with GCC, the code will then compile with -std=gnu++11. Compiling with -std=gnu++11 enables C++11 *and* the GNU extensions. Is there an option that will result in -std=c++11 in lieu of -std=gnu++11, to build without the the GNU extensions?

Thank you!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20150704/28e683f3/attachment.html>


More information about the CMake mailing list