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 為目標的編譯器的語言。