This repository is a starter project to develop C++ CodinGame bots. You can read this article on my blog to learn how to use it.
src/bot.cpp, the main source file for the botsrc/configuration.h, the main configuration file for the bottests/unit_tests.cpp, the main unit tests filemerge_source_files.py, a simple python script to merge source code into a single file.vscode/folder that activate C++ indexing and python linting in the projectCMakeLists.txt, to generate a build configuration.
This project is meant to be used with the following tools installed:
cmaketo generate a build configuration for your projectsninjaormaketo build your projects (those are the only generators that producescompile_commands.jsonfiles, used by VSCode to parse and index C++ sources)clangto compile c++ filespythonto executemerge_source_fileslldto link compiled c++ files.
If you want to use another compiler or another linker, add options for your configuration in the CMakeLists.txt file.
It is part of a set-up I use to develop C++ CodinGame bots. A VSCode extension feeds the following variables to the cmake file:
REPOSITORY_ROOT, which is the path to my main repository, storing all my tools and my botsINCLUDE_DIR, path to the folder containing all the common headers I use for bots and toolsLIB_DIR, path to the folder containing all the common libraries I use for my tools