CMP0063

警告

此策略的 OLD 行為已在 CMake 4.0 版本中移除。此策略必須透過呼叫 cmake_minimum_required()cmake_policy() 設定為 NEW

版本 3.3 新增。

針對所有目標類型,遵循可見性屬性。

<LANG>_VISIBILITY_PRESETVISIBILITY_INLINES_HIDDEN 目標屬性會影響動態連結期間符號的可見性。首次引入時,這些屬性僅影響共享函式庫、模組函式庫和設定了 ENABLE_EXPORTS 屬性的可執行檔中來源的編譯。這對於共享函式庫和具有外掛程式的可執行檔的基本用例來說已足夠。然而,某些來源可能會編譯為靜態函式庫或物件函式庫的一部分,然後稍後連結到共享函式庫中。CMake 3.3 及更高版本傾向於針對所有目標類型中編譯的來源遵循這些屬性。此策略保留了專案期望屬性僅適用於某些目標類型的相容性。

此策略的 OLD 行為是忽略靜態函式庫、物件函式庫和沒有匯出的可執行檔的可見性屬性。NEW 行為是針對所有目標類型遵循可見性屬性。

此策略在 CMake 3.3 版本中引入。在 CMake 4.0 版本中移除之前,可以透過 cmake_policy()cmake_minimum_required() 進行設定。如果未設定,CMake 會發出警告,並使用 OLD 行為。