improved cmake config