add cmake compilation