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]*
「location
」指定 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 新增:可攜式 VS 實例(Visual Studio 安裝程式未知)可以透過同時提供 location
和 version=
來指定。
如果使用者或工具鏈檔案未明確指定 CMAKE_GENERATOR_INSTANCE
的值,CMake 會查詢 Visual Studio 安裝程式以尋找 VS 實例,選擇其中一個,並將變數設定為快取條目以持久保存該值。如果設定了格式為 VS##0COMNTOOLS
的環境變數(其中 ##
是 Visual Studio 主要版本號碼),並且指向其中一個 VS 實例中的 Common7/Tools
目錄,則將使用該實例。否則,如果安裝了多個 VS 實例,我們不會定義預設選擇哪一個。
所選 VS 實例的 VS 版本建置編號在 CMAKE_VS_VERSION_BUILD_NUMBER
變數中提供。