mirror of
https://github.com/reactos/CMake.git
synced 2024-11-28 05:50:42 +00:00
3d8356d486
Teach the compiler identification preprocessor tests to report when Clang simulates MSVC, and what version. If not MSVC, assume GNU. Teach compiler information modules Clang-(C|CXX) to recognize when Clang simulates MSVC and skip loading the GNU information. Teach the Windows-MSVC platform information to recognize when it is loaded as the simulated compiler and use that version information instead of the real compiler's (different) version scheme. Add platform modules Windows-Clang-(C|CXX) and support module Windows-Clang to load either Windows-MSVC or Windows-GNU and wrap the corresponding information macros.
33 lines
1.1 KiB
CMake
33 lines
1.1 KiB
CMake
|
|
#=============================================================================
|
|
# Copyright 2001-2013 Kitware, Inc.
|
|
#
|
|
# Distributed under the OSI-approved BSD License (the "License");
|
|
# see accompanying file Copyright.txt for details.
|
|
#
|
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
# See the License for more information.
|
|
#=============================================================================
|
|
# (To distribute this file outside of CMake, substitute the full
|
|
# License text for the above reference.)
|
|
|
|
# This module is shared by multiple languages; use include blocker.
|
|
if(__WINDOWS_CLANG)
|
|
return()
|
|
endif()
|
|
set(__WINDOWS_CLANG 1)
|
|
|
|
if(CMAKE_C_SIMULATE_ID STREQUAL "MSVC"
|
|
OR CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
|
|
include(Platform/Windows-MSVC)
|
|
macro(__windows_compiler_clang lang)
|
|
__windows_compiler_msvc(${lang})
|
|
endmacro()
|
|
else()
|
|
include(Platform/Windows-GNU)
|
|
macro(__windows_compiler_clang lang)
|
|
__windows_compiler_gnu(${lang})
|
|
endmacro()
|
|
endif()
|