LINUX.ORG.RU

История изменений

Исправление sena, (текущая версия) :

Но это все равно не объясняет, почему большинство завязалось на CMake.

Очевидно потому что альтернативы тогда не было. Я писал примерно тогда 2001 сборку средненького проекта на чистом make. Проект поддерживал сборку на виндосе и линуксе, кросскомпиляцию на несколько платформ, я даже слепил генерацию проектных файлов для вижуал студио и кодекомпозера от техас инструментс (и даже частично импорт из них обратно). И это всё работало, конечно, но… Это было больше похоже на магию для других разработчиков в этом же проекте. Слишком сложно для понимания. CMake облегчает и упрощает многие стандартные задачи своими многочисленными готовыми встроенными командами.

Потом какое-то время работал с tmake и qmake, но те были слишком привязаны к Qt.

Разумеется CMake крив и имеет серьёзные врождённые уродства. Например у него похоже есть большие проблемы со сгенерированным кодом, это отлично видно например по тому, что поддержка препроцессинга Qt в нём реализована отчасти прямо в исходниках.

Но простые ежедневные задачи он позволяет решать простым удобным способом. Это его неоспоримое преимущество. А за счёт популярности он стал стандартом де-факто, что позволяет найти готовы рецепты для большинства распространённых проблем.

Кстати почему никто не вспомнил про базель? Очень даже хорошие идеи заложены. Но не взлетит конечно.

Исправление sena, :

Но это все равно не объясняет, почему большинство завязалось на CMake.

Очевидно потому что альтернативы тогда не было. Я писал примерно тогда 2001 сборку средненького проекта на чистом make. Проект поддерживал сборку на виндосе и линуксе, кросскомпиляцию на несколько платформ, я даже слепил генерацию проектных файлов для вижуал студио и кодекомпозера от техас инструментс (и даже частично импорт из них обратно). И это всё работало, конечно, но… Это было больше похоже на магию для других разработчиков в этом же проекте. Слишком сложно для понимания. CMake облегчает и упрощает многие стандартные задачи своими многочисленными готовыми встроенными командами.

Потом какое-то время работал с tmake и qmake, но те были слишком привязаны к Qt.

Разумеется CMake крив и имеет серьёзные врождённые уродства. Например у него похоже есть большие проблемы со сгенерированным кодом, это отлично видно например по тому, что поддержка препроцессинга Qt в нём реализована отчасти прямо в исходниках.

Но простые ежедневные задачи он позволяет решать простым удобным способом. Это его неоспоримое преимущество. А за счёт популярности он стал стандартом де-факто, что позволяет найти готовы рецепты для большинства распространённых проблем.

Исправление sena, :

Но это все равно не объясняет, почему большинство завязалось на CMake.

Очевидно потому что альтернативы тогда не было. Я писал примерно тогда 2001 сборку средненького проекта на чистом make. Проект поддерживал сборку на виндосе и линуксе, кросскомпиляцию на несколько платформ, я даже слепил генерацию проектных файлов для вижуал студио и кодекомпозера от техас инструментс (и даже частично импорт из них обратно). И это всё работало, конечно, но… Это было больше похоже на магию для других разработчиков в этом же проекте. Слишком сложно для понимания. CMake облегчает и упрощает многие стандартные задачи своими многочисленными готовыми встроенными командами.

Потом какое-то время работал с tmake и qmake, но те были слишком привязаны к Qt.

Разумеется CMake крив и имеет серьёзные врождённые уродства. Например у него похоже есть большие проблемы со сгенерированным кодом, это отлично видно например по тому что поддержка препроцессинга Qt в нём реализована отчасти прямо в исходниках.

Но простые ежедневные задачи он позволяет решать простым удобным способом. Это его неоспоримое преимущество. А за счёт популярности он стал стандартом де-факто, что позволяет найти готовы рецепты для большинства распространённых проблем.

Исходная версия sena, :

Но это все равно не объясняет, почему большинство завязалось на CMake.

Очевидно потому что альтернативы тогда не было. Я писал примерно тогда 2001 сборку средненького проекта на чистом make. Проект поддерживал сборку на виндосе и линуксе, кросскомпиляцию на несколько платформ, я даже слепил генерацию проектных файлов для вижуал студио и кодекомпозера от техас инструментс (и даже частично импорт из них обратно). И это всё работало, конечно, но… Это было больше похоже на магию для других разработчиков в этом же проекте. Слишком сложно для понимания. CMake облегчает и упрощает многие стандартные задачи своими многочисленными готовыми встроенными командами.

Разумеется CMake крив и имеет серьёзные врождённые уродства. Например у него похоже есть большие проблемы со сгенерированным кодом, это отлично видно например по тому что поддержка препроцессинга Qt в нём реализована отчасти прямо в исходниках.

Но простые ежедневные задачи он позволяет решать простым удобным способом. Это его неоспоримое преимущество. А за счёт популярности он стал стандартом де-факто, что позволяет найти готовы рецепты для большинства распространённых проблем.