NO_SYSTEM_FROM_IMPORTED

不要將取用 Imported Targets 的介面中的包含目錄視為系統目錄。

當被取用目標的 SYSTEM 屬性設定為 true 時,INTERFACE_INCLUDE_DIRECTORIES 目標屬性的內容會被視為系統包含目錄,或者在 Apple 平台上,當目標是框架時,它會被視為系統。 預設情況下,SYSTEM 對於匯入的目標為 true,對於其他目標類型則為 false。 如果在 *取用* 目標上將 NO_SYSTEM_FROM_IMPORTED 屬性設定為 true,則該取用目標中來源的編譯將不會將取用的匯入目標的 INTERFACE_INCLUDE_DIRECTORIES 內容視為系統包含目錄,即使該匯入目標的 SYSTEM 屬性為 false。

取用目標的 INTERFACE_SYSTEM_INCLUDE_DIRECTORIES 屬性中列出的目錄不受 NO_SYSTEM_FROM_IMPORTED 影響。 這些目錄將始終被取用者視為系統包含目錄。

如果目標建立時設定了 CMAKE_NO_SYSTEM_FROM_IMPORTED 變數的值,則會以此值初始化此屬性。

請參閱 EXPORT_NO_SYSTEM 目標屬性,以在提供包含目錄的目標上設定此行為,而不是在取用它們的目標上設定。