CMP0028¶
警告
此策略的 OLD
行为已在 CMake 4.0 版本中移除。此策略必须通过调用 cmake_minimum_required()
或 cmake_policy()
设置为 NEW
。
目标名称中的双冒号表示 ALIAS
或 IMPORTED
目标。
CMake 2.8.12 及更低版本允许在 target_link_libraries()
中使用带有双冒号的目标和文件,以及一些构建系统生成器。
双冒号的使用是用于命名空间 IMPORTED
目标和 ALIAS
目标的常用模式。在计算目标的链接依赖项时,每个依赖项的名称可以是目标,也可以是磁盘上的文件。以前,如果找不到具有匹配名称的目标,则该名称被认为是指磁盘上的文件。如果应该作为目标名称的内容中存在拼写错误,这可能会导致令人困惑的错误消息。
另请参阅 LINK_LIBRARIES_ONLY_TARGETS
目标属性。
此策略的 OLD
行为是搜索目标,然后在磁盘上搜索文件,即使搜索词包含双冒号。此策略的 NEW
行为是,如果链接依赖项包含双冒号但不是 IMPORTED
目标或 ALIAS
目标,则发出 FATAL_ERROR
。
此策略在 CMake 3.0 版本中引入。在 CMake 4.0 版本中移除之前,可以通过 cmake_policy()
或 cmake_minimum_required()
进行设置。如果未设置,CMake 会发出警告,并使用 OLD
行为。