use CMake to build.
sort files into subdirectories.
added build version info.