cmake tool chain refactoring