CMake is a tool used to manage the build process for a wide range of programming languages, including C, C++, CUDA, and more. By default, building a project with CMake may not fully utilize your machine's multiple cores. Fortunately, enabling parallel builds with CMake is easy and can dramatically reduce build times. This tutorial explains how to enable parallel build using CMake.
Here's a minimal CMakeLists.txt example to get you started:
cmake_minimum_required(VERSION 3.27)
project(myapp)
set(CMAKE_CXX_STANDARD 17)
add_executable(${PROJECT_NAME} main.cpp)
Before building, generate the necessary build files using the following command:
cmake -S . -B build
This creates a build directory with configuration files.
The -j option instructs CMake to tell the underlying build system (like Make, MSBuild, Ninja) how many jobs to run in parallel. For example, the following command runs the build using 8 jobs:
cmake --build build -j8
To utilize all available CPU threads for building the project, use NUMBER_OF_PROCESSORS on Windows or nproc on Linux as follows:
cmake --build build -j%NUMBER_OF_PROCESSORS%
cmake --build build -j$(nproc)
Leave a Comment
Cancel reply