replace makefile with cmake