The Omnibus Emulator
In an effort to make the code as portable as possible, all code outside the platform directory is designed to be as system-agnostic as possible (i.e. the Linux source tree's arch directory).
cmake=> files for the CMake build systeminclude=> header files for the project- N.B. we use the
.hppextension for headers that contain C++ code.
- N.B. we use the
platform=> platform-specific header and implementation fileswin32=> Windows with MSVC-specificsdl=> Linux with GCC or Clang
src=> implementation files for the projecttest=> source code for test programs (we use a separate executable for each unit/integration/e2e test)unit=> test programs which verify the functionality of a single class/group of functions in isolation (i.e. all dependencies are mocked where possible).integration=> test programs which verify the functionality of multiple classes/groups of functions when linked together. Dependencies are mocked where necessary.e2e=> end-to-end tests which verify the functionality of the fully-linked program.
third_party=> external dependencies, mostly tracked as git submodules.