Hi, CXX_STANDARD is a target property, not a global one. You can either set CXX_STANDARD for every target that needs it, or set it globally by changing the default value.
You can do the latter by setting the variable CMAKE_CXX_STANDARD before defining any target that depends on it: set(CMAKE_CXX_STANDARD 11) HTH, Johannes On Tuesday 13 October 2015 10:22:36 Matthew S Wallace wrote: > 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