Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>CMake
я вообще использую qmake. просто и сердито.
правда, у него есть странная архитектурная особенность — он все объектники кидает в одну директорию без поддиректорий.
т.е. для ситуации когда имеем 'a/a.cpp' и 'b/a.cpp' он оба 'a.o' закинет в одну директорию, со всеми вытекающими.
и спустя *надцать лет, троли таки поняли что qmake убог, и написали qbs =)
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[17]: [ann] Visual C++ Compiler November 2013 CTP
Здравствуйте, Abyx, Вы писали:
A>а, действительно. A>ну-ка расскажи какая система построения может взять список несколько файлов, скомпилить их g++ да так чтобы положить разные типы файлов в разные папки?
SCons, CMake, waf и им подобные. На мой личный вкус scons лучше всех для конечных приложений, а cmake для библиотек (распространяемых в исходниках).
A>ну или может подскажи систему построения которая бы интегрировалась в студию и умела компилить g++?
SCons умеет вообще все популярные компиляторы) И тривиально интегрируется в любую IDE.
Re[18]: [ann] Visual C++ Compiler November 2013 CTP
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Abyx, Вы писали:
A>>ну или может подскажи систему построения которая бы интегрировалась в студию и умела компилить g++?
EP>CMake позволяет делать custom targets, commands — то есть можно прикрутить любой компилятор, любого языка. EP>Он умеет генерировать проекты разных типов: Visual Studio (разных версий, начиная с VS2003), Makefiles, Eclipse CDT, KDevelop, Code::Blocks, etc. + QTCreator понимает CMakeLists.txt
это всё круто, только мы говорим про интеграцию в студию, а она не понимает cmake.
интеграция в IDE — это когда добавление/переименование/удаление файлов, задание опций компиляции и т.п. делается через IDE.
правка текстовых файлов — это не интеграция в IDE.
In Zen We Trust
Re[18]: [ann] Visual C++ Compiler November 2013 CTP
Здравствуйте, niXman, Вы писали:
X>Здравствуйте, Abyx, Вы писали:
A>>ну знаешь ли, возможность задать каталог для всех выходных файлов нужного типа, она мощнее возможности задать имя 1 файла X>так это вообще забота системы сборки, а не компилятора, имхо.
генерация файлов — это забота компилятора.
и возможность генерить файлы сразу в нужном месте, вместо того чтобы генерить все в одной папке, а потом перемещать(или копировать если это разные диски) — это полезная фича
In Zen We Trust
Re[19]: [ann] Visual C++ Compiler November 2013 CTP
Здравствуйте, Abyx, Вы писали:
A>как интегрировать SCons в MSVS ? A>чтоб например я мог переименовать .cpp файл в solution explorer'e, нажать F7 и у меня бы собрался проект?
Интеграция должна быть только в запуске сборки различных конфигураций из IDE. А редактирование настроек проекта очевидно удобнее делать в виде изменения текстового файла с кодом, а не щёлкая мышкой по десятку закладок в каких-то диалогах...
Re[19]: [ann] Visual C++ Compiler November 2013 CTP
A>правка текстовых файлов — это не интеграция в IDE.
При изменении файлов cmake проект автоматически обновится при следующей сборке.
И мне, например, настройки большого проекта с десятками дочерних намного удобней хранить/править в простейших текстовых файлах, чем копаться по IDE. Все основные настройки собираются вместе, а весь boilerplate прячется в функциях и макросах.
Или, например, commit diff при изменении CMakeLists.txt — крайне лаконичный получается. Да и вообще хранить в репозитории CMakeLists.txt намного удобней чем проекты студии.
Re[20]: [ann] Visual C++ Compiler November 2013 CTP
Здравствуйте, alex_public, Вы писали:
A>>как интегрировать SCons в MSVS ? A>>чтоб например я мог переименовать .cpp файл в solution explorer'e, нажать F7 и у меня бы собрался проект?
_>Интеграция должна быть только в запуске сборки различных конфигураций из IDE. А редактирование настроек проекта очевидно удобнее делать в виде изменения текстового файла с кодом, а не щёлкая мышкой по десятку закладок в каких-то диалогах...
давай-ка ты мне не будешь говорить как оно должно быть и как оно удобнее.
ты сказал что "SCons" интегрируется в IDE, я спросил как, и теперь ты начал гнать какую-то пургу про текстовые файлы с кодом.
если в IDE есть окно "solution explorer" с определенным набором фич, интеграция в IDE означает что все эти фичи будут поддерживаться, точка.
In Zen We Trust
Re[20]: [ann] Visual C++ Compiler November 2013 CTP
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Abyx, Вы писали:
A>>это всё круто, только мы говорим про интеграцию в студию, а она не понимает cmake.
EP>А ты его использовал?
A>>интеграция в IDE — это когда добавление/переименование/удаление файлов, задание опций компиляции и т.п. делается через IDE.
EP>Не обязательно делать добавление/переименование/удаление по одному файлу, можно например сделать: EP>
A>>правка текстовых файлов — это не интеграция в IDE.
EP>При изменении файлов cmake проект автоматически обновится при следующей сборке. EP>И мне, например, настройки большого проекта с десятками дочерних намного удобней хранить/править в простейших текстовых файлах, чем копаться по IDE. Все основные настройки собираются вместе, а весь boilerplate прячется в функциях и макросах. EP>Или, например, commit diff при изменении CMakeLists.txt — крайне лаконичный получается. Да и вообще хранить в репозитории CMakeLists.txt намного удобней чем проекты студии.
>_<
разве я спрашивал как тебе удобно?
я сказал что мне нужна фича студии — редактирование списка и свойств файлов в дереве solution explorer.
у cmake есть много замечательных фич, и диффы читать проще, только представляешь, если я спрашиваю "как пройти в библиотеку", я не хочу услышать в ответ как доехать до краеведческого музея, потому что он типа интереснее чем эта моя библиотека.
In Zen We Trust
Re[20]: [ann] Visual C++ Compiler November 2013 CTP
Здравствуйте, Abyx, Вы писали:
A>давай-ка ты мне не будешь говорить как оно должно быть и как оно удобнее.
A>ты сказал что "SCons" интегрируется в IDE, я спросил как, и теперь ты начал гнать какую-то пургу про текстовые файлы с кодом.
A>если в IDE есть окно "solution explorer" с определенным набором фич, интеграция в IDE означает что все эти фичи будут поддерживаться, точка.
Ты похоже не совсем понимаешь принцип. Нормальные инструменты сборки — это не дополнения к системе проектов VS (часть которой и есть окно solution), а замена этой системы. Так что довольно абсурдно пользоваться ими одновременно.