Currently the project builds C++ code by directly passing all files to g++ using regex patterns and similar approaches. This is not maintainable. We should migrate to CMake for better dependency management, cross-platform support, and more robust build configuration.