1 use cmake for building project.
2 use scoped enums replace unscoped enums