Brad King wrote:
>> I have pushed a std-cxx-target-property branch to my gitorious repo to
>> illustrate the idea further, but I don't think there is any way to
>> specify which c++ standard to restrict to with MSVC, so the idea may
>> already be useless or dead in the water.
> 
> I'm not sure how to handle compilers that do not have
> an option for this.  Error?

It's a tricky question indeed. For MSVC I would say it should not be an 
error. For compilers which support no c++11 whatsoever (because they predate 
it by so long for example), I would also say not an error. 

> What if a future version
> of the compiler were to add an option, and a future
> version of CMake were to add support for the option?

To be clear, the scenario you mean is, for example, watcom doesn't currently 
support any c++11 switch, and then next year it gets -std=c++11, so we add a 
CMAKE_CXX_COMPILE_OPTIONS_STD_CXX11 setting to CMake for it?

> Then existing projects would build differently with
> a newer CMake.

Correct. Previously it wasn't as the buildsystem maintainer wanted (by their 
use of the CMAKE_STD_CXX11 setting), and with the newer CMake (and newer 
compiler) is is.

That kind of returns us to the question of whether it should be an error to 
use CMAKE_STD_CXX11 if a compiler doesn't provide a setting for it. It 
shouldn't be an error for the same reason that using 
POSITION_INDEPENDENT_CODE is not an error. We're not able to guess which 
compilers could possibly be used by the buildsystem which uses the setting.

Thanks,

Steve.


--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to