CMP0026

禁止读取 LOCATION 属性以用于构建目标。

CMake 2.8.12 及更低版本支持读取 LOCATION 目标属性(以及特定于配置的变量)以确定构建目标最终位置。这一属性依赖于这样的假设:即所有必要的信息在配置期间均可用,用于确定目标最终的位置和文件名。但是,这一属性直至生成期间之后才可完全确定。在生成期间,可以使用 $<TARGET_FILE> 生成器表达式来确定目标输出的最终 LOCATION

可以将读取 LOCATION 目标属性的代码移植为使用 $<TARGET_FILE> 生成器表达式,并结合 file(GENERATE) 子命令,以生成包含目标位置的文件。

对于本策略,OLD 行为是允许从构建目标读取 LOCATION 属性。本策略的 NEW 行为是不允许从构建目标读取 LOCATION 属性。

本策略在 CMake 版本 3.0 中引入。可以通过 cmake_policy()cmake_minimum_required() 设置策略。如果未设置策略,CMake 会发出警告,并使用 OLD 行为。

注意

策略的 OLD 行为 definition by deprecated,并且可能会在将来的 CMake 版本中被删除。