CMAKE_WATCOM_RUNTIME_LIBRARY

於 3.24 版本新增。

選擇針對 Watcom ABI 的編譯器所使用的 Watcom 執行時期程式庫。此變數用於初始化所有目標建立時的 WATCOM_RUNTIME_LIBRARY 屬性。它也會透過呼叫 try_compile() 命令傳遞到測試專案中。

允許的值為:

SingleThreaded

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

SingleThreadedDLL

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

MultiThreaded

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

MultiThreadedDLL

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

該值在非 Watcom 編譯器上會被忽略,但在使用針對 Watcom ABI 的編譯器時,若使用不支援的值會被拒絕並產生錯誤。

該值也可以是空字串(""),在這種情況下,CMake 不會明確添加執行時期程式庫選擇旗標。

使用 產生器 運算式 來支援每個設定的規格。

例如,以下程式碼:

set(CMAKE_WATCOM_RUNTIME_LIBRARY "MultiThreaded")

為所有後續目標選擇一個多執行緒靜態連結的執行時期程式庫。

如果未設定此變數,則 WATCOM_RUNTIME_LIBRARY 目標屬性將不會自動設定。如果該屬性未設定,則 CMake 會在 Windows 上使用預設值 MultiThreadedDLL,在其他平台上使用 SingleThreaded 來選擇 Watcom 執行時期程式庫。

注意

此變數僅在策略 CMP0136 在第一個 project()enable_language() 命令(該命令使用針對 Watcom ABI 的編譯器啟用語言)之前設定為 NEW 時才有效。