CMP0051¶
警告
此策略的 OLD
行為已在 CMake 4.0 版本中移除。此策略必須透過呼叫 cmake_minimum_required()
或 cmake_policy()
設定為 NEW
。
在版本 3.1 中新增。
在 SOURCES 目標屬性中列出 TARGET_OBJECTS
。
CMake 3.0 及更低版本在返回 SOURCES
目標屬性時,不包含 TARGET_OBJECTS
產生器表達式
。
配置時期的 CMake 程式碼無法處理產生器表達式。如果在配置時期使用 SOURCES
目標屬性,可能需要先使用 string(GENEX_STRIP)
命令移除產生器表達式。產生時期的 CMake 程式碼,例如 file(GENERATE)
,可以處理不經去除的內容。
此策略的 OLD
行為是從 SOURCES
目標屬性中省略 TARGET_OBJECTS
表達式。NEW
行為是在輸出中包含 TARGET_OBJECTS
表達式。
此策略在 CMake 3.1 版本中引入。在 CMake 4.0 版本中移除之前,可以透過 cmake_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 會發出警告,並使用 OLD
行為。