Having all requirements set, here you can find how to quickly build and run the application.
Important
Workflow presets are only available in CMake version 3.25 and up.
The quickest way possible to get an actual distributable from zero is using the available CMake workflows. For Linux and Windows:
cmake --workflow --preset distAnd for macOS with Xcode:
cmake --workflow --preset xcode-distUsually available build modes are Debug, Release, and RelWithDebInfo.
To run a debug build:
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -B build/debug
cmake --build build/debugTo run a release build:
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -B build/release
cmake --build build/releaseOn macOS Xcode should be used as generator via -GXcode. For example creating a release build with XCode. It is also
necessary to specify the Apple architecture via CMAKE_OSX_ARCHITECTURES, for example for a universal executable using
the value x86_64;arm64".
# Using Xcode, create universal executable
cmake -GXcode -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -B build/xcode
cmake --build build/xcode --config ReleaseWhen not running through an IDE like CLion, the built application can be run by directly executing the generated binary.
To run a debug build:
./build/debug/src/app/App.app/Contents/MacOS/AppTo run a release build:
./build/release/src/app/App.app/Contents/MacOS/AppTo run a debug build created with Xcode:
./build/xcode/src/app/Debug/App.app/Contents/MacOS/AppTo run a release build created with Xcode:
./build/xcode/src/app/Release/App.app/Contents/MacOS/AppTo run a debug build:
build/debug/src/app/App.exeTo run a release build:
build/release/src/app/App.exeTo run a debug build:
./build/debug/src/app/AppTo run a release build:
./build/release/src/app/AppTo bundle the application and create a distribution package CPack is used. Before executing CPack a release build needs to be generated.
cpack --config build/release/CPackConfig.cmakeOn any generated build tests can be executed by using CTest, e.g. a Debug build:
ctest --test-dir build/debugHere a preview of the app running on macOS, Windows, and Linux (Ubuntu), in that order.
Next up: Where is What?


