write a cmake build system instead of scons