Merge topic 'mingw-objc-objcxx'

2a4e8f03ef MinGW: Add support for OBJC and OBJCXX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !9244
This commit is contained in:
Brad King
2024-02-13 13:52:52 +00:00
committed by Kitware Robot
7 changed files with 47 additions and 0 deletions

View File

@@ -39,6 +39,11 @@ Compilers
* The LLVM/Clang GNU-like frontend on Windows (``clang++``) may now be used
to compile ``CUDA`` language sources.
* Compilers targeting the GNU ABI on Windows (MinGW) may now be used to
compile Objective C (``OBJC``) and Objective C++ (``OBJCXX``). These
include GNU compilers (``gcc`` and ``g++``) and the LLVM/Clang GNU-like
frontends (``clang`` and ``clang++``).
* TI Clang-based compilers are now supported with
:variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` ``TIClang``.

View File

@@ -0,0 +1,18 @@
include(Platform/Windows-Clang)
__windows_compiler_clang(OBJC)
if("x${CMAKE_OBJC_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER)
AND CMAKE_GENERATOR MATCHES "Makefiles|WMake"
AND CMAKE_DEPFILE_FLAGS_OBJC)
set(CMAKE_OBJC_DEPENDS_USE_COMPILER TRUE)
endif()
elseif("x${CMAKE_OBJC_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER)
AND CMAKE_GENERATOR MATCHES "Makefiles|WMake"
AND CMAKE_DEPFILE_FLAGS_OBJC)
# dependencies are computed by the compiler itself
set(CMAKE_OBJC_DEPFILE_FORMAT gcc)
set(CMAKE_OBJC_DEPENDS_USE_COMPILER TRUE)
endif()
endif()

View File

@@ -0,0 +1,18 @@
include(Platform/Windows-Clang)
__windows_compiler_clang(OBJCXX)
if("x${CMAKE_OBJCXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER)
AND CMAKE_GENERATOR MATCHES "Makefiles|WMake"
AND CMAKE_DEPFILE_FLAGS_OBJCXX)
set(CMAKE_OBJCXX_DEPENDS_USE_COMPILER TRUE)
endif()
elseif("x${CMAKE_OBJCXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER)
AND CMAKE_GENERATOR MATCHES "Makefiles|WMake"
AND CMAKE_DEPFILE_FLAGS_OBJCXX)
# dependencies are computed by the compiler itself
set(CMAKE_OBJCXX_DEPFILE_FORMAT gcc)
set(CMAKE_OBJCXX_DEPENDS_USE_COMPILER TRUE)
endif()
endif()

View File

@@ -0,0 +1 @@
__windows_compiler_gnu_abi(OBJC)

View File

@@ -0,0 +1,2 @@
include(Platform/Windows-GNU)
__windows_compiler_gnu(OBJC)

View File

@@ -0,0 +1 @@
__windows_compiler_gnu_abi(OBJCXX)

View File

@@ -0,0 +1,2 @@
include(Platform/Windows-GNU)
__windows_compiler_gnu(OBJCXX)