NO_SYSTEM_FROM_IMPORTED

不要將取用之匯入目標介面中的包含目錄視為系統目錄。

當取用目標的 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 目標屬性,以在提供包含目錄的目標上設定此行為,而不是在取用它們的目標上設定。