Старый вопрос, но все же стоит дать актуальный ответ. Сегодня обычным делом является то, что делает Qt Creator, когда используются теневые сборки (они включены по умолчанию при открытии нового проекта).
Для каждой отдельной цели и типа сборки право qmake
запускается с правильными аргументами в другом каталоге сборки. Тогда это просто построено с помощью simple make
.
Итак, воображаемая структура каталогов может выглядеть так.
/
|_/build-mylib-qt5-mingw32-debug
|_/build-mylib-qt5-mingw32-release
|_/build-mylib-qt4-msvc2010-debug
|_/build-mylib-qt4-msvc2010-release
|_/build-mylib-qt5-arm-debug
|_/build-mylib-qt5-arm-release
|_/mylib
|_/include
|_/src
|_/resources
И что важно, qmake
в каталоге сборки запускается a :
cd build-mylib-XXXX
/path/to/right/qmake ../mylib/mylib.pro CONFIG+=buildtype ...
Затем он генерирует make- make
файлы в каталоге сборки, а затем также генерирует файлы в нем. Нет риска перепутать разные версии, если qmake никогда не запускается в исходном каталоге (если это так, лучше его хорошо очистить!).
И когда это делается таким образом, .pro
файл из принятого в настоящее время ответа становится еще проще:
HEADERS += src/dialogs.h
SOURCES += src/main.cpp \
src/dialogs.cpp