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