I'm trying to get a CMake project to build in a Gitlab runner.
running cmake version 3.18.4
I'm following this documentation from microsoft
I'm running this command in my source directory where a CMakePresets.json file is present:
cmake --list-presets
I'm expecting a list of presets to show up in the command line like this:
Available configure presets:
"x64-debug" - x64 Debug
"x64-release" - x64 Release
"x86-debug" - x86 Debug
"x86-release" - x86 Release
Instead I get the following:
the "/--list-presets" folder does indeed not exist nor should it.
I have tried manually specifying the source directory as seen in this question/issue changing my command into:
cmake -S . --list-presets
But it yields the same result.
I run this in a gitlab runner for CI/CD. I run the following command to install cmake:
apt-get install cmake
this installs cmake 3.18.4 which does not support presets. Visual studio which I use for developing run 3.24 which does support and thus uses presets.
I fixed this by running the following script which I got here
- apt-get update
- apt-get install gpg wget
- wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
- echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
- apt-get update
After which you can get the latest cmake by running:
apt-get install cmake