add cmake file and test