WATCOM_RUNTIME_LIBRARY

在 3.24 版中添加。

选择 Watcom 运行时库,用于使用面向 Watcom ABI 的编译器。

允许的值有

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 设置为 NEW 才能生效,且前提是在第一次 project()enable_language() 命令启用使用面向 Watcom ABI 的编译器的语言之前。