mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-11 20:11:10 -05:00
add_test: Honor CROSSCOMPILING_EMULATOR only when cross-compiling
Add policy CMP0158 to provide compatibility for existing projects. Fixes: #23672
This commit is contained in:
@@ -42,6 +42,12 @@ directory the test is created in.
|
||||
|
||||
<emulator> <command>
|
||||
|
||||
.. versionchanged:: 3.29
|
||||
|
||||
The emulator is used only when
|
||||
:variable:`cross-compiling <CMAKE_CROSSCOMPILING>`.
|
||||
See policy :policy:`CMP0158`.
|
||||
|
||||
* .. versionadded:: 3.29
|
||||
|
||||
The target's :prop_tgt:`TEST_LAUNCHER`, if set, will be
|
||||
|
||||
@@ -57,6 +57,7 @@ Policies Introduced by CMake 3.29
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
CMP0158: add_test() honors CMAKE_CROSSCOMPILING_EMULATOR only when cross-compiling. </policy/CMP0158>
|
||||
CMP0157: Swift compilation mode is selected by an abstraction. </policy/CMP0157>
|
||||
CMP0156: De-duplicate libraries on link lines based on linker capabilities. </policy/CMP0156>
|
||||
|
||||
|
||||
27
Help/policy/CMP0158.rst
Normal file
27
Help/policy/CMP0158.rst
Normal file
@@ -0,0 +1,27 @@
|
||||
CMP0158
|
||||
-------
|
||||
|
||||
.. versionadded:: 3.29
|
||||
|
||||
:command:`add_test` honors :variable:`CMAKE_CROSSCOMPILING_EMULATOR` only
|
||||
when :variable:`cross-compiling <CMAKE_CROSSCOMPILING>`.
|
||||
|
||||
In CMake 3.28 and below, :command:`add_test` unconditionally used the
|
||||
:prop_tgt:`CROSSCOMPILING_EMULATOR` target property (initialized by the
|
||||
:variable:`CMAKE_CROSSCOMPILING_EMULATOR` variable) to run test commands
|
||||
naming executable targets. CMake 3.29 and above prefer to use the emulator
|
||||
only when the :variable:`CMAKE_CROSSCOMPILING` variable is enabled. The
|
||||
:variable:`CMAKE_TEST_LAUNCHER` variable may be used instead when not
|
||||
cross-compiling. This policy provides compatibility for projects that
|
||||
have not been updated.
|
||||
|
||||
The ``OLD`` behavior for this policy is for :command:`add_test` to use
|
||||
the :prop_tgt:`CROSSCOMPILING_EMULATOR` target property unconditionally.
|
||||
The ``NEW`` behavior for this policy is for :command:`add_test` to use
|
||||
the :prop_tgt:`CROSSCOMPILING_EMULATOR` target property only when
|
||||
:variable:`cross-compiling <CMAKE_CROSSCOMPILING>`.
|
||||
|
||||
This policy was introduced in CMake version 3.29. Use the
|
||||
:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
|
||||
Unlike many policies, CMake version |release| does *not* warn
|
||||
when this policy is not set and simply uses ``OLD`` behavior.
|
||||
@@ -5,3 +5,7 @@ cmake-test-launcher
|
||||
:prop_tgt:`TEST_LAUNCHER` target property were added to specify
|
||||
a launcher to be used by executable targets when invoked by
|
||||
tests added by the :command:`add_test` command.
|
||||
|
||||
* The :command:`add_test` command now honors
|
||||
:variable:`CMAKE_CROSSCOMPILING_EMULATOR` only when cross-compiling.
|
||||
See policy :policy:`CMP0158`.
|
||||
|
||||
Reference in New Issue
Block a user