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 在第一个启用使用针对 Watcom ABI 的编译器的语言的 project()enable_language() 命令之前设置为 NEW 时,此属性才生效。