Creating a specific branch for the buildsystem.
Completing CMakelists.txt
Adding dependencies to the buildsystem.
Adding C++ definitions to represents supported OS and compilers.