CMAKE_CFG_INTDIR

自 3.21 版本起已棄用:此變數在 Ninja 多配置上的支援不佳,且早於 $<CONFIG> 產生器表達式的存在。請改用 $<CONFIG>

在建置時參考每個配置的輸出子目錄。

對於在建置樹中支援多個配置的原生建置系統(例如Visual Studio 產生器Xcode),該值是對建置時變數的參考,該變數指定每個配置的輸出子目錄的名稱。在Makefile 產生器上,它會評估為 .,因為在建置樹中只有一個配置。範例值

$(Configuration)     = Visual Studio
$(CONFIGURATION)     = Xcode
.                    = Make-based tools
.                    = Ninja
${CONFIGURATION}     = Ninja Multi-Config

由於這些值是由原生建置系統評估的,因此此變數僅適用於在建置時評估的命令列。預期使用範例

add_executable(mytool mytool.c)
add_custom_command(
  OUTPUT out.txt
  COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool
          ${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt
  DEPENDS mytool in.txt
  )
add_custom_target(drive ALL DEPENDS out.txt)

請注意,CMAKE_CFG_INTDIR 對於此目的而言已不再必要,但為了與現有專案相容而保留。取而代之的是,add_custom_command() 會在其 COMMAND 選項中識別可執行目標名稱,因此 ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool 可以簡單地替換為 mytool

此變數為唯讀。設定它是未定義的行為。在多配置建置系統中,此變數的值會作為預處理器符號 CMAKE_INTDIR 的值傳遞到所有原始程式碼檔案的編譯中。