Re[18]: [ann] Visual C++ Compiler November 2013 CTP
От: niXman Ниоткуда https://github.com/niXman
Дата: 09.12.13 01:02
Оценка:
Здравствуйте, 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
От: alex_public  
Дата: 09.12.13 07:02
Оценка:
Здравствуйте, Abyx, Вы писали:

A>а, действительно.

A>ну-ка расскажи какая система построения может взять список несколько файлов, скомпилить их g++ да так чтобы положить разные типы файлов в разные папки?

SCons, CMake, waf и им подобные. На мой личный вкус scons лучше всех для конечных приложений, а cmake для библиотек (распространяемых в исходниках).

A>ну или может подскажи систему построения которая бы интегрировалась в студию и умела компилить g++?


SCons умеет вообще все популярные компиляторы) И тривиально интегрируется в любую IDE.
Re[18]: [ann] Visual C++ Compiler November 2013 CTP
От: Abyx Россия  
Дата: 09.12.13 16:22
Оценка:
Здравствуйте, 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
От: Abyx Россия  
Дата: 09.12.13 16:25
Оценка:
Здравствуйте, alex_public, Вы писали:

_>SCons умеет вообще все популярные компиляторы) И тривиально интегрируется в любую IDE.


как интегрировать SCons в MSVS ?
чтоб например я мог переименовать .cpp файл в solution explorer'e, нажать F7 и у меня бы собрался проект?
In Zen We Trust
Re[16]: [ann] Visual C++ Compiler November 2013 CTP
От: Abyx Россия  
Дата: 09.12.13 16:28
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Abyx, Вы писали:


A>>ну знаешь ли, возможность задать каталог для всех выходных файлов нужного типа, она мощнее возможности задать имя 1 файла

X>так это вообще забота системы сборки, а не компилятора, имхо.

генерация файлов — это забота компилятора.
и возможность генерить файлы сразу в нужном месте, вместо того чтобы генерить все в одной папке, а потом перемещать(или копировать если это разные диски) — это полезная фича
In Zen We Trust
Re[19]: [ann] Visual C++ Compiler November 2013 CTP
От: alex_public  
Дата: 09.12.13 17:40
Оценка: -1
Здравствуйте, Abyx, Вы писали:

A>как интегрировать SCons в MSVS ?

A>чтоб например я мог переименовать .cpp файл в solution explorer'e, нажать F7 и у меня бы собрался проект?

Интеграция должна быть только в запуске сборки различных конфигураций из IDE. А редактирование настроек проекта очевидно удобнее делать в виде изменения текстового файла с кодом, а не щёлкая мышкой по десятку закладок в каких-то диалогах...
Re[19]: [ann] Visual C++ Compiler November 2013 CTP
От: Evgeny.Panasyuk Россия  
Дата: 09.12.13 17:58
Оценка:
Здравствуйте, Abyx, Вы писали:

A>это всё круто, только мы говорим про интеграцию в студию, а она не понимает cmake.


А ты его использовал?

A>интеграция в IDE — это когда добавление/переименование/удаление файлов, задание опций компиляции и т.п. делается через IDE.


Не обязательно делать добавление/переименование/удаление по одному файлу, можно например сделать:
file(GLOB src *.cpp)
ADD_EXECUTABLE(project ${src})


A>правка текстовых файлов — это не интеграция в IDE.


При изменении файлов cmake проект автоматически обновится при следующей сборке.
И мне, например, настройки большого проекта с десятками дочерних намного удобней хранить/править в простейших текстовых файлах, чем копаться по IDE. Все основные настройки собираются вместе, а весь boilerplate прячется в функциях и макросах.
Или, например, commit diff при изменении CMakeLists.txt — крайне лаконичный получается. Да и вообще хранить в репозитории CMakeLists.txt намного удобней чем проекты студии.
Re[20]: [ann] Visual C++ Compiler November 2013 CTP
От: Abyx Россия  
Дата: 09.12.13 18:25
Оценка:
Здравствуйте, 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
От: Abyx Россия  
Дата: 09.12.13 18:37
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Здравствуйте, Abyx, Вы писали:


A>>это всё круто, только мы говорим про интеграцию в студию, а она не понимает cmake.


EP>А ты его использовал?


A>>интеграция в IDE — это когда добавление/переименование/удаление файлов, задание опций компиляции и т.п. делается через IDE.


EP>Не обязательно делать добавление/переименование/удаление по одному файлу, можно например сделать:

EP>
EP>file(GLOB src *.cpp)
EP>ADD_EXECUTABLE(project ${src})
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
От: DarkEld3r  
Дата: 09.12.13 22:07
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Не обязательно делать добавление/переименование/удаление по одному файлу, можно например сделать:

EP>
EP>file(GLOB src *.cpp)
EP>ADD_EXECUTABLE(project ${src})
EP>

Это, вроде как, не рекомендованный способ...

EP>Да и вообще хранить в репозитории CMakeLists.txt намного удобней чем проекты студии.

Это да.
Re[21]: [ann] Visual C++ Compiler November 2013 CTP
От: alex_public  
Дата: 10.12.13 02:34
Оценка:
Здравствуйте, Abyx, Вы писали:

A>давай-ка ты мне не будешь говорить как оно должно быть и как оно удобнее.


A>ты сказал что "SCons" интегрируется в IDE, я спросил как, и теперь ты начал гнать какую-то пургу про текстовые файлы с кодом.


A>если в IDE есть окно "solution explorer" с определенным набором фич, интеграция в IDE означает что все эти фичи будут поддерживаться, точка.


Ты похоже не совсем понимаешь принцип. Нормальные инструменты сборки — это не дополнения к системе проектов VS (часть которой и есть окно solution), а замена этой системы. Так что довольно абсурдно пользоваться ими одновременно.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.