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 不會明確新增任何執行時期程式庫選取旗標。
使用 generator expressions
以支援每個組態的規格。
例如,以下程式碼
set(CMAKE_WATCOM_RUNTIME_LIBRARY "MultiThreaded")
為所有後續目標選擇多執行緒靜態連結的執行時期程式庫。
如果未設定此變數,則不會自動設定 WATCOM_RUNTIME_LIBRARY
目標屬性。如果未設定該屬性,則 CMake 在 Windows 上使用預設值 MultiThreadedDLL
,在其他平台上使用 SingleThreaded
,以選擇 Watcom 執行時期程式庫。
注意
只有在首次啟用使用目標為 Watcom ABI 之編譯器的語言的 project()
或 enable_language()
命令之前,將政策 CMP0136
設定為 NEW
時,此變數才有效。