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 在启用以 Watcom ABI 为目标的编译器的第一个 project() 或 enable_language() 命令之前被设置为 NEW 时,此变量才生效。