I have the following two lines in my CMakeLists.txt

set_property(GLOBAL PROPERTY CXX_STANDARD 11)
set_property(GLOBAL PROPERTY CXX_STANDARD_REQUIRED)

However when compiling some of my source files, the -std=c++11 flag is not 
added.

Just for good measure I added:
target_compile_features(my_target PRIVATE cxx_strong_enums) to the target that 
was having the problem.

Not sure if it matters, but in this case the compile error I’m getting is 
complaining because I’m referencing a fully scoped enum.  If I explicitly 
include -std=c++11 in my compile flags, everything works.

I’m thinking I’m probably just misunderstanding how CXX_STANDARD works, but any 
help would be appreciated.

-Matt
-- 

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

Reply via email to