diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2023-11-02 16:48:15 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-12-19 15:00:55 (GMT) |
commit | ca5a300d7fee308a0f32bf677e4bb5d74ebbd0cc (patch) | |
tree | 47870643781ec741b668a8dd0403e0d2d34dba31 /Help/policy | |
parent | daf8da8c8007229490dbdf0b2cd32f0b575f3c00 (diff) | |
download | CMake-ca5a300d7fee308a0f32bf677e4bb5d74ebbd0cc.zip CMake-ca5a300d7fee308a0f32bf677e4bb5d74ebbd0cc.tar.gz CMake-ca5a300d7fee308a0f32bf677e4bb5d74ebbd0cc.tar.bz2 |
add_test: Honor CROSSCOMPILING_EMULATOR only when cross-compiling
Add policy CMP0158 to provide compatibility for existing projects.
Fixes: #23672
Diffstat (limited to 'Help/policy')
-rw-r--r-- | Help/policy/CMP0158.rst | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Help/policy/CMP0158.rst b/Help/policy/CMP0158.rst new file mode 100644 index 0000000..4289c6d --- /dev/null +++ b/Help/policy/CMP0158.rst @@ -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. |