CMAKE_CFG_INTDIR

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

建置時期參考每個組態輸出的子目錄。

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

$(Configuration)

Visual Studio

$(CONFIGURATION)

Xcode

.

基於 Make 的工具

.

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 的值傳遞到所有原始檔的編譯中。