some useful shared cmake utilities