diff options
author | Evan Wilde <etceterawilde@gmail.com> | 2024-03-22 16:24:02 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-04-02 14:42:12 (GMT) |
commit | 3fb4092826319730d529563820eefdaa3449a276 (patch) | |
tree | 55bf5b2febad4bafcc580b839fcd305ca5171583 /Help | |
parent | 659bc156eff0a90c2ea3fdb3d866e07f8c0e436b (diff) | |
download | CMake-3fb4092826319730d529563820eefdaa3449a276.zip CMake-3fb4092826319730d529563820eefdaa3449a276.tar.gz CMake-3fb4092826319730d529563820eefdaa3449a276.tar.bz2 |
Swift: Add CMAKE_LINKER_TYPE support
Extend commit 96a953b1ed (Add options to specify linker tool, 2023-09-27,
v3.29.0-rc1~577^2) with the `CMAKE_Swift_USING_LINKER_*` variables
needed to support `CMAKE_LINKER_TYPE` for Swift.
Diffstat (limited to 'Help')
-rw-r--r-- | Help/release/3.29.rst | 6 | ||||
-rw-r--r-- | Help/variable/LINKER_PREDEFINED_TYPES.txt | 39 |
2 files changed, 28 insertions, 17 deletions
diff --git a/Help/release/3.29.rst b/Help/release/3.29.rst index f6d829d..0e6337d 100644 --- a/Help/release/3.29.rst +++ b/Help/release/3.29.rst @@ -199,3 +199,9 @@ Other Changes ``perMachine`` value. Previously, without a custom WiX template, it produced installers that would only create start menu and uninstall entries for the current user, even though they install for all users. + +.. 3.29.1 (unreleased) + + * The :variable:`CMAKE_LINKER_TYPE` variable and corresponding + :prop_tgt:`LINKER_TYPE` target property now work with compilers + for the ``Swift`` language. diff --git a/Help/variable/LINKER_PREDEFINED_TYPES.txt b/Help/variable/LINKER_PREDEFINED_TYPES.txt index 69ac1c2..3c1b7b8 100644 --- a/Help/variable/LINKER_PREDEFINED_TYPES.txt +++ b/Help/variable/LINKER_PREDEFINED_TYPES.txt @@ -13,39 +13,43 @@ built-in types. The pre-defined linker types are: ``SYSTEM`` Use the standard linker provided by the platform or toolchain. For example, - this implies the Microsoft linker for all ``MSVC``-compatible compilers. + this implies the Microsoft linker for all MSVC-compatible compilers. This type is supported for the following platform-compiler combinations: - * Linux: ``GNU``, ``Clang``, ``LLVMFlang`` and ``NVIDIA`` compilers. - * All Apple variants: ``AppleClang``, ``Clang`` and ``GNU`` compilers. - * Windows: ``MSVC``, ``GNU``, ``Clang`` and ``NVIDIA`` compilers. + * Linux: ``GNU``, ``Clang``, ``LLVMFlang``, ``NVIDIA``, and ``Swift`` + compilers. + * Apple platforms: ``AppleClang``, ``Clang``, ``GNU``, and ``Swift`` + compilers. + * Windows: ``MSVC``, ``GNU``, ``Clang``, ``NVIDIA``, and ``Swift`` compilers. ``LLD`` Use the ``LLVM`` linker. This type is supported for the following platform-compiler combinations: - * Linux: ``GNU``, ``Clang``, ``LLVMFlang`` and ``NVIDIA`` compilers. - * All Apple variants: ``Clang`` and ``AppleClang`` compilers. - * Windows: ``GNU``, ``Clang``, ``Clang`` compilers with ``GNU`` front-end, - ``MSVC`` and ``NVIDIA`` compilers with ``MSVC`` front-end. + * Linux: ``GNU``, ``Clang``, ``LLVMFlang``, ``NVIDIA``, and ``Swift`` + compilers. + * Apple platforms: ``Clang``, ``AppleClang``, and ``Swift`` compilers. + * Windows: ``GNU``, ``Clang`` with MSVC-like front-end, ``Clang`` with + GNU-like front-end, ``MSVC``, ``NVIDIA`` with MSVC-like front-end, + and ``Swift``. ``BFD`` Use the ``GNU`` linker. This type is supported for the following platform-compiler combinations: - * Linux: ``GNU``, ``Clang``, ``LLVMFlang`` and ``NVIDIA`` compilers. - * Windows: ``GNU``, ``Clang`` compilers with ``GNU`` front-end. + * Linux: ``GNU``, ``Clang``, ``LLVMFlang``, and ``NVIDIA`` compilers. + * Windows: ``GNU``, ``Clang`` with GNU-like front-end. ``GOLD`` - Supported on Linux platform with ``GNU``, ``Clang``, ``LLVMFlang`` and - ``NVIDIA`` compilers. + Supported on Linux platform with ``GNU``, ``Clang``, ``LLVMFlang``, + ``NVIDIA``, and ``Swift`` compilers. ``MOLD`` Use the `mold linker <https://github.com/rui314/mold>`_. This type is supported on the following platform-compiler combinations: - * Linux: ``GNU``, ``Clang``, ``LLVMFlang`` and ``NVIDIA`` compilers. - * All Apple variants: ``Clang`` and ``AppleClang`` compilers (acts as an + * Linux: ``GNU``, ``Clang``, ``LLVMFlang``, and ``NVIDIA`` compilers. + * Apple platforms: ``Clang`` and ``AppleClang`` compilers (acts as an alias to the `sold linker`_). ``SOLD`` @@ -54,11 +58,12 @@ built-in types. The pre-defined linker types are: ``APPLE_CLASSIC`` Use the Apple linker in the classic behavior (i.e. before ``Xcode 15.0``). - This type is only supported on Apple platforms with ``GNU``, ``Clang`` and - ``AppleClang`` compilers. + This type is only supported on Apple platforms with ``GNU``, ``Clang``, + ``AppleClang``, and ``Swift`` compilers. ``MSVC`` Use the Microsoft linker. This type is only supported on the Windows - platform with ``MSVC`` and ``Clang`` compiler with ``MSVC`` front-end. + platform with ``MSVC``, ``Clang`` with MSVC-like front-end, and ``Swift`` + compilers. .. _sold linker: https://github.com/bluewhalesystems/sold |