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
時才有效。