WATCOM_RUNTIME_LIBRARY¶
在 3.24 版本中添加。
选择供以 Watcom ABI 为目标的编译器使用的 Watcom 运行时库。
允许的值包括
SingleThreaded (单线程)
编译时不使用额外的标志,以使用单线程静态链接的运行时库。
SingleThreadedDLL (单线程动态链接库)
使用
-br
或等效标志编译,以使用单线程动态链接的运行时库。这不适用于 Linux 目标。MultiThreaded (多线程)
使用
-bm
或等效标志编译,以使用多线程静态链接的运行时库。MultiThreadedDLL (多线程动态链接库)
使用
-bm -br
或等效标志编译,以使用多线程动态链接的运行时库。这不适用于 Linux 目标。
该值在非 Watcom 编译器上会被忽略,但是当使用以 Watcom ABI 为目标的编译器时,不支持的值将被拒绝并报错。
该值也可以是空字符串 (""
),在这种情况下,CMake 不会显式添加运行时库选择标志。
使用 generator expressions
以支持每个配置的规范。
例如,以下代码
add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
WATCOM_RUNTIME_LIBRARY "MultiThreaded")
为目标 foo
选择一个多线程静态链接的运行时库。
如果未设置此属性,则 CMake 在 Windows 上使用默认值 MultiThreadedDLL
,在其他平台上使用 SingleThreaded
来选择 Watcom 运行时库。
注意
仅当策略 CMP0136
在首次启用使用 Watcom ABI 编译器的语言的 project()
或 enable_language()
命令之前设置为 NEW
时,此属性才生效。