Refactored C++ build system
More refactoring of build structure