CMP0147 — CMake 4.3.0 Documentation

# CMP0147

Added in version 3.27.

Visual Studio Generators build custom commands in parallel.

Visual Studio 15.8 (2017) and newer support building custom commands in parallel. CMake 3.27 and above prefer to enable this behavior by adding a `BuildInParallel` setting to custom commands in `.vcxproj` files. This policy provides compatibility for projects that have not been updated to expect this, e.g., because their custom commands were accidentally relying on serial execution by MSBuild. To control this behavior in a more precise way, refer to `VS_CUSTOM_COMMAND_DISABLE_PARALLEL_BUILD`.

The `OLD` behavior for this policy is to not add `BuildInParallel`. The `NEW` behavior for this policy is to add `BuildInParallel` for VS 15.8 and newer.

This policy was introduced in CMake version 3.27. It may be set by `cmake_policy()` or `cmake_minimum_required()`. If it is not set, CMake does not warn, and uses `OLD` behavior.

Note

The `OLD` behavior of a policy is deprecated by definition and may be removed in a future version of CMake.