Давно хотел написать Makefile, который бы создавал рабочую директорию для cmake и выполнял все необходимые приготовления.
Данный Makefile создает рабочую директорию, вызывает cmake для создания / обновления проекта и собирает его. Теперь проект можно собирать прямо из vim и бегать по ошибкам / предупреждениям компилятора.
BUILD_DIR=.build all: $(shell [[ ! -d $(BUILD_DIR) ]] && mkdir $(BUILD_DIR) ) cd $(BUILD_DIR) ; cmake .. ; make ; cd .. clean: rm -fr $(BUILD_DIR)