initial the solution

- use cmake