To make, or not to make (вот в чём вопрос) |
Здравствуйте, гость ( Вход | Регистрация )
To make, or not to make (вот в чём вопрос) |
Litkevich Yuriy |
12.10.2009, 18:21
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SABROG |
13.10.2009, 22:00
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
На сколько я помню у CMAKE есть еще проблема с включением консоли (CONFIG += console). По умолчанию она выключена и чтобы её включить надо менять флаги конкретного компилятора. Т.е. уже как минимум надо писать условие типа если это компилятор gcc, msvc, bcc, icc, то чтобы включить консоль надо передать такой-то флаг, вместо универсального ключа в CONFIG.
В общем мне CMake не нравится по нескольким причинам: - какие-то костыльные функции QT4_* (а QT3_* там есть вообще?) - не родная система сборки. Тролли что-то поменяют или добавят и не известно, когда за ними поспеют девелоперы CMake. - чтобы собрать Qt'шный проект нужно этот самый CMake доставить (я даже расстроился, когда тролли добавили скрипт на Python'e, чтобы собрать Qt) - синтаксис CMake скриптов похож на язык Си (сплошные вызовы функций) и Basic одновременно из-за вечно UPPERCASE'ных их названий. Одновременно с тем в qmake и в Makefile'ах меня немного не устраивает тот факт, что их тяжело использовать в IDE как файлы проектов из-за сложности парсинга настроек, в следствии чего все IDE используют свои собственные форматы (.sln, .vcproj, .bpr и т.д.), которые невозможно использовать с компилятором через командную строку. А многие девелоперы предоставляют только эти файлы. Хочется универсальности. |
|
|
BRE |
13.10.2009, 22:21
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
На сколько я помню у CMAKE есть еще проблема с включением консоли (CONFIG += console). По умолчанию она выключена и чтобы её включить надо менять флаги конкретного компилятора. Т.е. уже как минимум надо писать условие типа если это компилятор gcc, msvc, bcc, icc, то чтобы включить консоль надо передать такой-то флаг, вместо универсального ключа в CONFIG. На счет консоли не скажу, на тех платформах с которыми я работаю она есть всегда. CMake очень быстро развивается, возможно все уже починено. - какие-то костыльные функции QT4_* (а QT3_* там есть вообще?) А это костыльно/не костыльно QMAKE_FRAMEWORK_BUNDLE_NAME? Qt3 поддерживается. - не родная система сборки. Тролли что-то поменяют или добавят и не известно, когда за ними поспеют девелоперы CMake. Не родная, да. - чтобы собрать Qt'шный проект нужно этот самый CMake доставить (я даже расстроился, когда тролли добавили скрипт на Python'e, чтобы собрать Qt) Что бы собрать Qt'шный проект еще и Qt нужна. - синтаксис CMake скриптов похож на язык Си (сплошные вызовы функций) и Basic одновременно из-за вечно UPPERCASE'ных их названий. А у меня смешанные чувства по поводу внутреннего языка CMake, как то и просто все вроде и не просто... Кстати с qmake тоже не все так хорошо, например: http://www.prog.org.ru/topic_8360_0.html Одновременно с тем в qmake и в Makefile'ах меня немного не устраивает тот факт, что их тяжело использовать в IDE как файлы проектов из-за сложности парсинга настроек, в следствии чего все IDE используют свои собственные форматы (.sln, .vcproj, .bpr и т.д.), которые невозможно использовать с компилятором через командную строку. А многие девелоперы предоставляют только эти файлы. Хочется универсальности. Кстати, CMake может генерировать не только Makefile'ы, но и файлы проектов для популярных сред. |
|
|
Текстовая версия | Сейчас: 26.11.2024, 18:29 |