better cmake usage