CMAKE_GENERATOR_INSTANCE

在 3.11 版本中新增。

由使用者提供的產生器特定執行個體規格。

某些 CMake 產生器支援在有多個執行個體可用時,選擇原生建置系統的執行個體。如果使用者指定一個執行個體(例如,透過設定此快取項目或透過 CMAKE_GENERATOR_INSTANCE 環境變數),或在首次組態建置樹狀結構時選擇預設執行個體之後,該值將在此變數中可用。

專案程式碼絕不應修改此變數的值。CMAKE_TOOLCHAIN_FILE 變數指定的工具鏈檔案可以將 CMAKE_GENERATOR_INSTANCE 初始化為快取項目。一旦給定的建置樹狀結構已使用此變數的特定值初始化,則變更該值的行為是未定義的。

執行個體規格僅在特定產生器上支援。

Visual Studio 執行個體選擇

Visual Studio 產生器 支援 Visual Studio 2017 及更高版本的執行個體規格。CMAKE_GENERATOR_INSTANCE 變數可以設定為快取項目,透過以下形式之一選擇 Visual Studio 的執行個體:

  • 位置

  • 位置[,key=value]*

  • key=value[,key=value]*

位置 指定 VS 安裝最上層目錄的絕對路徑。

key=value 對形成一個以逗號分隔的選項列表,以指定執行個體選擇的詳細資訊。支援的對包括:

version=<major>.<minor>.<date>.<build>

在 3.23 版本中新增。

指定 4 個組件的 VS 建置版本,又稱建置編號。

組件是:

<major>.<minor>

VS 主要和次要版本號碼。這些與發行版本號碼相同。

<date>

格式為 MMMDD 的建置日期,其中 MMM 是 Microsoft 使用的紀元以來的月份索引,而 DD 是該月份中的某一天。

<build>

<date> 代表的當天的建置索引。

建置編號由 vswhere 報告為 installationVersion。例如,VS 16.11.10 的建置編號為 16.11.32126.315

在 3.23 版本中新增:可透過提供 位置version= 來指定 Visual Studio 安裝程式未知的可攜式 VS 執行個體。

如果使用者或工具鏈檔案未明確指定 CMAKE_GENERATOR_INSTANCE 的值,CMake 會查詢 Visual Studio 安裝程式以尋找 VS 執行個體,選擇一個,並將該變數設定為快取項目以永久保留該值。如果設定了 VS##0COMNTOOLS 形式的環境變數(其中 ## 是 Visual Studio 主要版本號碼)並指向 VS 執行個體之一中的 Common7/Tools 目錄,則將使用該執行個體。否則,如果安裝了多個 VS 執行個體,我們不會定義預設選擇哪一個。

所選 VS 執行個體的 VS 版本建置編號在 CMAKE_VS_VERSION_BUILD_NUMBER 變數中提供。