Add cmake compiling files and modify overall project structure