diff options
author | Brad King <brad.king@kitware.com> | 2023-12-20 14:09:12 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-12-20 14:09:48 (GMT) |
commit | a350d92c06d9640b0daa75663f057a1b48a1b432 (patch) | |
tree | 4d9409487e4865f3fa1bdae0d4b6e1a27a726cba /Help | |
parent | 5c1990fc5187884724a3fcc703051805bb97b99e (diff) | |
parent | ca5a300d7fee308a0f32bf677e4bb5d74ebbd0cc (diff) | |
download | CMake-a350d92c06d9640b0daa75663f057a1b48a1b432.zip CMake-a350d92c06d9640b0daa75663f057a1b48a1b432.tar.gz CMake-a350d92c06d9640b0daa75663f057a1b48a1b432.tar.bz2 |
Merge topic 'add_test-CROSSCOMPILING_EMULATOR-exclusive'
ca5a300d7f add_test: Honor CROSSCOMPILING_EMULATOR only when cross-compiling
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8947
Diffstat (limited to 'Help')
-rw-r--r-- | Help/command/add_test.rst | 6 | ||||
-rw-r--r-- | Help/manual/cmake-policies.7.rst | 1 | ||||
-rw-r--r-- | Help/policy/CMP0158.rst | 27 | ||||
-rw-r--r-- | Help/release/dev/cmake-test-launcher.rst | 4 |
4 files changed, 38 insertions, 0 deletions
diff --git a/Help/command/add_test.rst b/Help/command/add_test.rst index 37b9563..557c858 100644 --- a/Help/command/add_test.rst +++ b/Help/command/add_test.rst @@ -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 diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst index ddde877..35b4497 100644 --- a/Help/manual/cmake-policies.7.rst +++ b/Help/manual/cmake-policies.7.rst @@ -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> 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. diff --git a/Help/release/dev/cmake-test-launcher.rst b/Help/release/dev/cmake-test-launcher.rst index e97498d..a82a8ad 100644 --- a/Help/release/dev/cmake-test-launcher.rst +++ b/Help/release/dev/cmake-test-launcher.rst @@ -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`. |