Improved CMake build system