Есть файлы .pro, хочется в них прописать параметры сборки по умолчанию: используемый компилятор (использовать компилятор mingw) и каталог сборки (по умолчанию там к примеру каталог сборки — что-то вроде projectname-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK_________ )
Нужно для того, чтобы любой человек, скачавший проект из контроля версий, не настраивал Qt Creator и не прописывал все эти настройки для двух десятков проектов.
Заносить в контроль версий файлы, генерируемые Qt Creator'ом <projectname>.pro.user ? Правильно ли это? (в смысле, это вроде как файлы, генерируемые и обновляемые средой разработки, они изменяются самопроизвольно по усмотрению IDE, могут содержать индивидуальные настройки и все такое — вроде как нелогично их делать общими?)
Вроде нельзя... смысл в том, что у каждого компилятора (а также IDE) (by default) свои задвиги — где и что должно лежать, глянь документацию ,например, cmake, там расписано ключ -G, поэтому достаточно просто "имя проекта".pro. По своему опыту — пытался соорудить структуру каталогов под msvc на все случаи жизни — окромя геммороя ничего не обрел
Здравствуйте, Figaro, Вы писали:
F>Вроде нельзя... смысл в том, что у каждого компилятора (а также IDE) (by default) свои задвиги — где и что должно лежать, глянь документацию ,например, cmake, там расписано ключ -G, поэтому достаточно просто "имя проекта".pro. По своему опыту — пытался соорудить структуру каталогов под msvc на все случаи жизни — окромя геммороя ничего не обрел
Это настройки путей output'a по умолчанию и настройки параметров сборки для разных конфигураций (которые всю жизнь находились в файлах проектов — в частности в Visual Studio). Эти настройки должны быть единые для всех, иначе никак.
Что печально, в этом же файле (*.pro.user) лежат и настройки редактора, которые естественно свои у каждого разработчика.
Здравствуйте, include2h, Вы писали:
I>Есть файлы .pro, хочется в них прописать параметры сборки по умолчанию... I>Нужно для того, чтобы любой человек, скачавший проект из контроля версий, не настраивал ...
Насколько я понял суть твоего вопроса, могу предложить такое решение.
Не обязательно его применять точь-в-точь (можно (нужно) поправить под свои задачи, взгляды).
Я лишь показываю идею, принцип.
Нижеприведённый код из .pro-файла не привязан (как видно) к конкретному пути на файловой системе.
Куда забрал из репозитария исходники, туда и привяжется проект при работе утилиты qmake.
Точная версия Qt — 4.7.1, но, полагаю, и в последних версиях Qt код будет применим без изменений.
Разумеется, это только незначительная часть .pro-файла.
Нижеприведённый код — рабочий, взят из реального проекта
(чуть-чуть поправлен для большей выразительности), а не выдуман навскидку на скорую руку.
Выбрать компилятор (в вопросе указан mingw) можно так:
— переменная окружения QMAKESPEC=win32-g++
— через параметр утилиты qmake при генерации makefile (или файла проекта для MS Visual Studio)
qmake ... -spec win32-g++ ...
Как задать переменную окружения (полагаю) объяснять не нужно.
Командная строка с qmake — это только пример, полную команду напишешь, исходя из реальных условий, задач, целей.
Добавлю, что я написал не всё, а указал направление мысли. Исчерпывающая документация по утилите qmake, .pro-файлам
идёт в комплекте с Qt, также она доступна/продублирована на сайте самой библиотеки Qt.
Также выскажу своё скромное (и спорное, но без цели спорить) мнение, что .pro-файлы (и утилита qmake)
при всей их мощи всё же не идут ни в какое сравнение с мощью, выразительностью, гибкостью makefile'ов
и утилиты make. Так что чуда от .pro-файлов ждать не следует.
Чудеса можно творить в makefile'ах (или аналогах и дополнениях утилиты make (например, (b)jam, cmake, bake, др.)).