WATCOM_RUNTIME_LIBRARY

在版本 3.24 中加入。

選擇 Watcom ABI 目標編譯器使用的 Watcom 執行時期函式庫。

允許的值為

SingleThreaded

編譯時不使用額外旗標,以使用單執行緒靜態連結的執行時期函式庫。

SingleThreadedDLL

編譯時使用 -br 或等效旗標,以使用單執行緒動態連結的執行時期函式庫。這不適用於 Linux 目標。

MultiThreaded

編譯時使用 -bm 或等效旗標,以使用多執行緒靜態連結的執行時期函式庫。

MultiThreadedDLL

編譯時使用 -bm -br 或等效旗標,以使用多執行緒動態連結的執行時期函式庫。這不適用於 Linux 目標。

此值在非 Watcom 編譯器上會被忽略,但當使用以 Watcom ABI 為目標的編譯器時,不支援的值將會被拒絕並視為錯誤。

此值也可以是空字串(""),在這種情況下,CMake 將不會明確加入任何執行時期函式庫選擇旗標。

使用 產生器 運算式 以支援每個組態的指定。

例如,以下程式碼

add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
  WATCOM_RUNTIME_LIBRARY "MultiThreaded")

為目標 foo 選擇多執行緒靜態連結的執行時期函式庫。

如果未設定此屬性,則 CMake 在 Windows 上使用預設值 MultiThreadedDLL,在其他平台上使用 SingleThreaded,以選擇 Watcom 執行時期函式庫。

注意

此屬性僅在政策 CMP0136 在第一個 project()enable_language() 命令之前設定為 NEW 時生效,該命令啟用使用以 Watcom ABI 為目標的編譯器的語言。