A chess engine written in the experimental cppfront.
CMake is used to pull in and build cppfront. It manages the dependcies of compiling cpp2 to cpp1 syntax. This all works seamlessly and even breakpoints work. All CMake functions and logic will go into src/thirdparty/cppfront/CMakeLists.txt
- Easy to read and learn chess engine
- Use pure cpp2 when possible
- Use modern features
- pmr (polymorphic memory resources)
#include <bits>
#include <bitset>
- Try to be self-contained (low dependencies)
The project aims to organize and modularize logic to attempt to make browsing and learning easier for new users.
All the source code goes into the src folder. Below describes the hierarchy and purpose of the code.
- thirdparty - external libraries pulled stright from git
- adapters - wrappers for external libraries to either modernize or add high-level abstractions
- groups - low level libraries
- standalones - libraries that apply business logic
- applications - targets that output executables
- uci - universal chess interface application
This project includes setup for Dev Containers in VS Code which should install everything needed for development.
CMake features are available in the activity bar on the left or from the command palette. You can build and debug.
This project will be using doctest to implement tests.
There is no syntax highlighter. The closest option is to use the C++ language mode to get some syntax and auto-complete. See below for instructions.
VS Code is probably not interpreting your file a C++ code. You can change the language mode with the command palette or find the option in the bottom-right corner of the editor.