Skip to content

MSVC: Add abstraction for runtime library selection

Brad King requested to merge brad.king/cmake:msvc-runtime-library into master

Replace our hard-coded defaults for /MD and /MDd with a first-class abstraction to select the runtime library from an enumeration of logical names. We've long hesitated to do this because the idea of "runtime library selection" touches on related concepts on several platforms. Avoid that scope creep by simply defining an abstraction that applies only when targeting the MSVC ABI on Windows.

Removing the old default flags requires a policy because existing projects may rely on string processing to edit them and choose a runtime library under the old behavior. Add policy CMP0091 to provide compatibility.

Fixes: #19108 (closed)

Edited by Brad King

Merge request reports