CMAKE_WATCOM_RUNTIME_LIBRARY

New in version 3.24.

Select the Watcom runtime library for use by compilers targeting the Watcom ABI. This variable is used to initialize the WATCOM_RUNTIME_LIBRARY property on all targets as they are created. It is also propagated by calls to the try_compile() command into the test project.

The allowed values are:

SingleThreaded

Compile without additional flags to use a single-threaded statically-linked runtime library.

SingleThreadedDLL

Compile with -br or equivalent flag(s) to use a single-threaded dynamically-linked runtime library. This is not available for Linux targets.

MultiThreaded

Compile with -bm or equivalent flag(s) to use a multi-threaded statically-linked runtime library.

MultiThreadedDLL

Compile with -bm -br or equivalent flag(s) to use a multi-threaded dynamically-linked runtime library. This is not available for Linux targets.

The value is ignored on non-Watcom compilers but an unsupported value will be rejected as an error when using a compiler targeting the Watcom ABI.

The value may also be the empty string ("") in which case no runtime library selection flag will be added explicitly by CMake.

Use generator expressions to support per-configuration specification.

For example, the code:

set(CMAKE_WATCOM_RUNTIME_LIBRARY "MultiThreaded")

selects for all following targets a multi-threaded statically-linked runtime library.

If this variable is not set then the WATCOM_RUNTIME_LIBRARY target property will not be set automatically. If that property is not set then CMake uses the default value MultiThreadedDLL on Windows and SingleThreaded on other platforms to select a Watcom runtime library.

Note

This variable has effect only when policy CMP0136 is set to NEW prior to the first project() or enable_language() command that enables a language using a compiler targeting the Watcom ABI.