CMP0131

在版本 3.24 中新增。

LINK_LIBRARIES 支援 $<LINK_ONLY:...> 產生器表達式。

CMake 3.23 及更早版本的文件中,$<LINK_ONLY:...> 產生器表達式僅用於 INTERFACE_LINK_LIBRARIES。當在 LINK_LIBRARIES 中使用時,即使在收集非連結使用需求(例如 INTERFACE_COMPILE_DEFINITIONS)時,也總是會使用 $<LINK_ONLY:...> 內保護的內容。

CMake 3.24 及以上版本傾向於支援在 LINK_LIBRARIES 中使用 $<LINK_ONLY:...>,方法是僅針對連結依賴項使用受保護的內容,而不針對其他使用需求。此政策為尚未更新以適應此變更的專案提供相容性。

此政策的 OLD 行為是即使對於非連結使用需求,也使用受 $<LINK_ONLY:...> 保護的 LINK_LIBRARIES 內容。此政策的 NEW 行為是僅針對連結依賴項使用受保護的內容。

此政策在 CMake 版本 3.24 中引入。它可以使用 cmake_policy()cmake_minimum_required() 進行設定。如果未設定,CMake *不會* 警告,並使用 OLD 行為。

注意

政策的 OLD 行為依定義已棄用,並可能在 CMake 的未來版本中移除。