Better Cmake, auto-detects now everything