added compatibility to clang and linux, polished CMakeLists.txt