來源

此屬性指定目標的原始程式檔路徑列表。下列命令都會設定或加入 SOURCES 目標屬性,且是操作此屬性的常用方式。

SOURCES 的內容可以使用 產生器 表達式。如果路徑以產生器表達式開頭,則預期它會評估為絕對路徑。否則將被視為未定義行為。

如果路徑不是已指定為絕對路徑,則將針對建置所產生的檔案路徑視為相對於目標的建置目錄。請注意,檔案是否被視為產生可能會受到政策 CMP0118CMP0163 的影響。

如果路徑不是以產生器表達式開頭、不是絕對路徑,且不是產生檔案,則會將其視為相對於符合以下條件的第一個位置:

  • 如果指定的路徑所指的檔案存在於目標的原始碼目錄中,則使用該檔案。

  • 如果政策 CMP0115 未設定為 NEW,則嘗試將每個已知的原始程式檔副檔名附加到路徑,並檢查該路徑在目標的原始碼目錄中是否存在。

  • 重複以上兩個步驟,這次是相對於目標的二進制目錄。

請注意,以上決策是在產生時間而非建置時間做出的。

有關定義建置系統屬性的詳細資訊,請參閱 cmake-buildsystem(7) 手冊。