CMP0026

警告

此策略的 OLD 行为已在 CMake 4.0 版本中移除。此策略必须通过调用 cmake_minimum_required()cmake_policy() 来设置为 NEW

禁止将 LOCATION 属性用于构建目标。

CMake 2.8.12 及更早版本允许读取 LOCATION 目标属性(及其特定于配置的变体)来确定构建目标的最终位置。这依赖于一个假设,即在配置时所有必要的信息都可用,以便确定目标的最终位置和文件名。然而,此属性直到生成时才完全确定。在生成时,可以使用 $<TARGET_FILE> 生成器表达式来确定目标输出的最终 LOCATION

读取 LOCATION 目标属性的代码可以通过使用 $<TARGET_FILE> 生成器表达式结合 file(GENERATE) 子命令来生成一个包含目标位置的文件。

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

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