54 lines
1.1 KiB
Markdown
54 lines
1.1 KiB
Markdown
# 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.
|
|
|
|
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
|
|
```
|
|
|