Rolf Eike Beer wrote:

>> Given that you're gathering the versions of each feature availability
>> anyway, and given that boost.config and qcompilerdetection.h have the
>> same information, there is no need for all users of the module to run all
>> these try_compiles for all projects. Think of the energy waste :)!
>> 
>> I suggest you use CMAKE_CXX_COMPILER_ID and CMAKE_CXX_COMPILER_VERSION to
>> hardcode the features. You could even do so for known compilers, and
>> leave the try_compile stuff for not-known compilers if you really want
>> to, but I don't think that's worthwhile maintenance.
> 
> We already found out that this is a bad idea for Apple, 

No we didn't :).

The AppleClang vs VanillaClang version issue is something that needs to be 
solved anyway.

> I still don't
> completely get it right for g++ and XL, and it isn't the way that CMake
> works for other things (I'm thinking of e.g. OpenMP). 

> And
> qcompilerdetection.h is a good example of how I would not want it, last
> time I looked they just deactivated every feature on Clang. 

I don't know what you're talking about, but I am certain you're mistaken in 
a simple interpretation of what you wrote.

> The idea I
> have about CMake is that it would check for stuff on any compiler I throw
> on it, so it would just report correct results for this that haven't been
> tested before (PGI? MipsPro? gcc 2?).


...

Stephen Kelly wrote:

> I suggest you use CMAKE_CXX_COMPILER_ID and CMAKE_CXX_COMPILER_VERSION to
> hardcode the features. You could even do so for known compilers, and leave
> the try_compile stuff for not-known compilers if you really want to, but I
> don't think that's worthwhile maintenance.

...



>> 4)
>> 
>> The COMPILE_OPTIONS for clang+apple might have to include -stdlib=libc++
>> for binary compatibility reasons if any of the dependencies use c++11 std
>> library API in their interface and use libc++.
>> 
>> See what I wrote about that here:
>> 
>>  http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/5813
> 
> I don't see how this is different with and without C++11, so how does it
> affect this module in a way that would not affect the user anyway?

You might have to investigate, for example, how system c++ libraries are 
compiled. I'm not familiar enough with APPLE to know what kind of c++ 
libraries it comes with.

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