On 08/05/2013 03:28 PM, Brad King wrote:
> I also see __apple_build_version__ in that output.  Searching
> for it finds that it is used for this purpose in Qt:
> 
>  https://qt.gitorious.org/qt/qtbase/commit/26c7bb25
> 
> but seems to be undocumented in general.  Will that work?
> 
>> Embarcadero's compiler is also based on clang, how do you deal with it?
> 
> We don't support Clang-based Embarcadero compilers yet AFAIK.
> However, this demonstrates that we will need a compiler id for
> each vendor that distributes a modified Clang.  With a separate
> compiler id then version comparisons can become meaningful again.

One of the main purposes of the compiler <id> is to load platform
modules like "Platform/<os>-<id>-<lang>" and "Compiler/<id>-<lang>".
Most of the information in these files will be identical across
the upstream and vendor-specific Clang distributions so having a
separate compiler id may lead to confusion and duplication.

Another approach is to introduce a CMAKE_<LANG>_COMPILER_VENDOR
variable to name the vendor (or _VARIANT?).  This would allow code
that needs to know the difference to detect it but otherwise stay
out of the way.  Then the order of most granular to least granular
compiler identification would be ID > VENDOR > VERSION.  What would
we do with compilers where the ID implies the VENDOR, though?

Comments?
-Brad
--

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