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 时才有效。