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