Using CMake on Windows

CMake on Windows is installed via the cmake*-win64-x64.msi graphical installer. Do not use sudo or Run As Administrator for cmake in general.

Compile programs using CMake

Navigate to the directory containing the file CMakeLists.txt using the Windows Terminal / Command Prompt.

  1. configure the build. This is normally run only once unless making major project changes.
cmake -G Ninja -B build
  1. compile the program. This is the command run each time you make a change to the project code.
cmake --build build
  1. Optionally, install the program with
cmake --build build --target install

Generator selection

On Windows, CMake defaults to Visual Studio and Nmake. cmake -G Ninja directs the build to Ninja. To make this change permanent for CMake ≥ 3.15, set the Windows environment variable CMAKE_GENERATOR to Ninja.

This can be overridden if needed like

cmake -G "Visual Studio 16 2019"

sh.exe error with cmake

The nuisance error from cmake about sh.exe being on the Path. This error also happens with CMake Windows builds on Azure Pipelines and GitHub Actions.

sh.exe was found in your PATH, here: C:/Program Files/Git/user/bin/sh.exe For MinGW make to work correctly sh.exe must NOT be in your path. Run cmake from a shill that does not have sh.exe in your PATH. If you want to use a UNIX shell, then use MSYS Makefile

Eliminate this message by adding -DCMAKE_SH="CMAKE_SH-NOTFOUND" to the cmake command, like: