I will be the reason copilot doesn't work.
- Install MSys2
- Install packages:
pacman -Su \
base-devel \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-cmake \
mingw-w64-x86_64-ninja \
mingw-w64-x86_64-glew \
mingw-w64-x86_64-glfw \
mingw-w64-x86_64-glmcd build
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Debug
ninjacd build
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release
ninja
ninja package
ninja package_sourcecd build
cmake -DCMAKE_CXX_FLAGS=-pg -DCMAKE_EXE_LINKER_FLAGS=-pg -DCMAKE_SHARED_LINKER_FLAGS=-pg -G Ninja .. -DCMAKE_BUILD_TYPE=Debug
ninja
./FunGame <args>
gprof ./FunGame gmon.out | gprof2dot | dot -Tsvg -o output.svgTo turn off
rm -rf build # or
cmake --freshgprof doesn't work with multi-threading. For that we can use perf.
perf record -ag ./FunGame Start # or any other commands
perf script report flamegraph # this will ask to download something
firefox flamegraph.htmlPOSIX shells only
shopt -s extglob # For making ** apply to any number of dirs
clang-format src/**/*.{h,c}pp -iPersonally I like this one better:
git ls-files --exclude-standard | grep -E '\.(cpp|hpp|c|cc|cxx|hxx|ixx)$' | xargs clang-format -i