HEADER_FILE_ONLY

此來源檔案是否僅為標頭檔。

來源檔案上的一個屬性,指示該來源檔案是否為不應編譯成目標檔的標頭檔。這是根據副檔名自動設定的,CMake 用它來判斷是否應計算某些依賴資訊。

透過將此屬性設為 ON,您可以停用給定來源檔案的編譯,即使它因為是函式庫/可執行檔的來源的一部分而本應被編譯。

如果您有一些以某種方式預處理的來源檔案,然後透過 add_library()add_executable() 新增這些預處理後的來源,這會很有用。通常,在 IDE 中不會有原始來源的引用,只有這些預處理後的來源。因此,將所有原始來源檔案的此屬性設為 ON,然後在呼叫 add_library()add_executable() 時同時傳遞預處理後的來源和原始來源,或使用 target_sources() 新增原始來源檔案,就能達到預期的效果,即原始來源檔案在 IDE 中可見,但不會被建置。