modified cmakelists to have proper user variables. and added extra flag to treat all warnings as errors