CMP0158¶
在版本 3.29 中添加。
add_test() 仅在交叉编译时遵循 CMAKE_CROSSCOMPILING_EMULATOR。
在 CMake 3.28 及更低版本中,add_test() 无条件地使用 CROSSCOMPILING_EMULATOR 目标属性(由 CMAKE_CROSSCOMPILING_EMULATOR 变量初始化)来运行指定可执行目标名称的测试命令。CMake 3.29 及更高版本倾向于仅在启用了 CMAKE_CROSSCOMPILING 变量时使用模拟器。在非交叉编译时,可以使用 CMAKE_TEST_LAUNCHER 变量作为替代。此策略为尚未更新的项目提供了兼容性。
此策略的 OLD(旧)行为是 add_test() 无条件使用 CROSSCOMPILING_EMULATOR 目标属性。此策略的 NEW(新)行为是 add_test() 仅在 交叉编译时使用 CROSSCOMPILING_EMULATOR 目标属性。
此策略在 CMake 版本 3.29 中引入。它可以由 cmake_policy() 或 cmake_minimum_required() 设置。如果未设置,CMake 不会发出警告,并使用 OLD 行为。
注意
策略的 OLD 行为根据定义已被弃用,并可能在未来版本的 CMake 中被移除。