# aoc Advent of Code project ## Requirements - [cmake](https://cmake.org/) for C++ ## Development This project has support for different languages. ### C++ There are different ways to setup this project, using `ninja` or Visual Studio. To use `miniaudio` to play audio on host machine use the flag `-DUSE_MINIAUDIO=ON`. ```sh cmake -S . -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Debug ``` Use `ninja` to build. ```sh ninja -C build ``` Symlink `compile_commands.json` to root directory for `ccls`/`clangd`. ```sh ln -sfn ./build/compile_commands.json . ``` **Linux (use clang)** ```sh CC=clang CXX=clang++ cmake -S . -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-stdlib=libc++ -I$HOME/.local/include/c++/v1" -DCMAKE_EXE_LINKER_FLAGS="-stdlib=libc++ -fuse-ld=lld -L$HOME/.local/lib" -DCMAKE_SHARED_LINKER_FLAGS="-stdlib=libc++ -fuse-ld=lld -L$HOME/.local/lib" ``` **Windows (requires admin)** ```sh New-Item -ItemType SymbolicLink -Path "compile_commands.json" -Target "./build/compile_commands.json" ``` ### Visual Studio ```sh cmake -S . -Bbuild ``` Open either the visual studio project in the build directory or use ```sh cmake --open build ```