Misc Info

Some information on what I use to program and some details about the code I’m writing

Environment

I work solely on Windows, years ago I had the patience to make the whole code base Linux-compatible but then I got lazy.

Development Software

  • Microsoft Visual Studio Community 2017
    • why would you use anything else on Windows, it’s free, it’s beautiful, it’s great, it’s slow (hum)
    • I should probably move to 2019 edition but who has the time?
  • CMake (whatever latest version)
    • remnant of my first full-time job, it’s great for multi-platform work
    • I spent a great deal of time writing cool custom scripts (see below), so now I’m sticking with it
  • Whole Tomato Visual Assist
    • adds lots of very useful features for C++ development on VS, also the default syntax highlighting is still not top notch so this one gets the job done perfectly

I should be using a version control system, I’m not, and it’s terribly stupid.
Instead I’m relying on folder copies and WinMerge.

Third party & dependencies

Here is a list of third party code & libraries I’m currently using:

  • zlib
  • libpng
  • libjepg
  • glew
  • glm

I’m also using my own modified version of CBFG to generate bitmap fonts

Custom CMake scripts

Collection of macros that allow the following:

  • create project files for Visual Studio (or gcc)
  • automatic source group following the filesystem
  • handle library & executable projects
    • external dependencies
    • internal dependencies (+ redundancy check)
    • automatic handling of linker options & header dependencies
    • specific compilation flags
    • custom commands
    • generated files
    • embedded files
    • companion files (non compiled)
    • unit test projects
    • static modules (preprocessor dependencies)