CMP0158

在版本 3.29 中添加。

add_test() 仅当 CMAKE_CROSSCOMPILING_EMULATORcross-compiling 时尊重。

在 CMake 3.28 及较低版本中,add_test() 无条件地使用 CROSSCOMPILING_EMULATOR 目标属性(由 CMAKE_CROSSCOMPILING_EMULATOR 变量初始化)来运行命名可执行目标的测试命令。CMake 3.29 及以上版本首选仅当 CMAKE_CROSSCOMPILING 变量启用时使用模拟器。当不进行交叉编译时,可以使用 CMAKE_TEST_LAUNCHER 变量作为替代。此策略为尚未更新的项目提供兼容性。

对于此策略的 OLD 行为,add_test() 会无条件使用 CROSSCOMPILING_EMULATOR 目标属性。此策略的 NEW 行为是使用 CROSSCOMPILING_EMULATOR 目标属性仅当 交叉编译 时。

此策略在 CMake 3.29 版本中引入。它可以通过 cmake_policy()cmake_minimum_required() 设置。如果没有设置,CMake 不会 警告,并使用 OLD 行为。

注意

策略的 OLD 行为 默认 已被 弃用,并且将来版本中可能会移除它。