HEADER_FILE_ONLY

此原始檔是否僅為標頭檔。

原始檔的屬性,指示原始檔是否為沒有相關實作的標頭檔。 此屬性會根據檔案副檔名自動設定,並由 CMake 用來判斷是否應計算某些相依性資訊。

將此屬性設定為 ON,您可以停用指定原始檔的編譯,即使它應該因為是程式庫/可執行檔的原始碼一部分而被編譯。

如果您有一些原始檔需要進行預處理,然後透過 add_library()add_executable() 新增這些預處理後的原始檔,這會很有用。 通常,在 IDE 中,不會有原始來源的參照,只有這些預處理過的來源的參照。 因此,將所有原始原始檔的此屬性設定為 ON,然後呼叫 add_library()add_executable(),同時傳遞預處理過的來源和原始來源,或者使用 target_sources() 新增原始原始檔,將會完全符合您的預期,也就是說,原始原始檔將會在 IDE 中可見,並且不會被建置。