ark requires CMake 3.21+, Ninja, a C++20 compiler and the dependencies selected by its vcpkg manifest. Use Visual Studio 2022 Developer PowerShell on Windows, or a compatible Clang/GCC toolchain on macOS/Linux.
Clone and initialize dependencies
git clone https://github.com/OpenArkStudio/ark.git
cd ark
git submodule update --init --recursiveConfigure the application build
Install vcpkg and set the VCPKG_ROOT environment variable to that checkout. Select Boost for the network dependency.
On macOS/Linux, use a POSIX shell:
cmake -S . -B app-build -G Ninja \
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" \
-DVCPKG_MANIFEST_FEATURES="application;boost" \
-DASIO_STANDALONE=OFF -DCMAKE_BUILD_TYPE=ReleaseOn Windows, use Visual Studio 2022 Developer PowerShell:
cmake -S . -B app-build -G Ninja `
"-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" `
"-DVCPKG_MANIFEST_FEATURES=application;boost" `
-DASIO_STANDALONE=OFF -DCMAKE_BUILD_TYPE=ReleaseBuild
cmake --build app-build --parallel 2Multi-configuration generators also need --config Release. This command writes executables, plugins and static archives to app-build/bin/. Use a separate CMake directory for each Release, Debug or sanitizer build. The quick start shows how to copy the selected binaries into a runtime directory. The build options control applications, examples and tests.
For a smaller correctness build, follow network regression tests. Run the provided scripts under build/ only after checking their application and deployment configuration.