Modified so everything compiles correctly without unnecessary dependencies. Added CMakeLists.txt .