EXCLUDE_FROM_ALL

將此目錄屬性設定為真值在子目錄上,以將其目標從其祖先的 "all" 目標中排除。 如果排除,例如在父目錄中執行 make 將預設不會建置子目錄中的目標。 這不會影響子目錄本身的 "all" 目標。 例如在子目錄內執行 make 仍然會建置其目標。

EXCLUDE_FROM_ALL 適用於子目錄包含專案中獨立但非必要的部分時,例如一組範例,或例如整合的第三方函式庫。 通常,子目錄應包含其自己的 project() 命令調用,以便在子目錄中生成完整的建置系統(例如 Visual Studio IDE 解決方案檔案)。 請注意,目標間的依賴關係優先於此排除。 如果父專案建置的目標依賴於子目錄中的目標,則依賴的目標將包含在父專案建置系統中以滿足依賴關係。

如果提供 EXCLUDE_FROM_ALL 參數,它具有以下效果

  • 在子目錄或以下定義的目標將不會包含在父目錄的 ALL 目標中。 這些目標必須由使用者明確地建置,或是將被建置的另一個目標的依賴項。

  • 在子目錄或以下定義的目標將從 IDE 專案檔中排除。

  • 當安裝父目錄時,在子目錄或以下定義的任何安裝規則都將被忽略。

請注意,這些效果與 EXCLUDE_FROM_ALL 目標屬性的效果不同。