Use a CMake file instead of a custom Makefile
Add unit test targets