LINUX.ORG.RU

[Qt][.pro] Сборка под разными платформами в разные директории

 


0

0

Вот такая простая задача: одна и та же директория с проектом и исходниками попадает на разные платформы, хочется чтобы TARGET ложился, скажем, в директорию <ос>/<архитектура>.

Прочитал почти всю доку по qmake и не нашёл. Гугл отнекивается.


Ответ на: комментарий от summatus

и ещё будет полезно объектники не смешивать:

unix:OBJECTS_DIR = build/o/unix
win32:OBJECTS_DIR = build/o/win32
итп

и вообще, ку-мейк поддерживает сборку проекта вне дерева сырцов:

mkdir /tmp/my-proj-builddir
cd /tmp/my-proj-builddir
qmake /path/to/my/proj/source/root/*.pro
make

PROFIT!

arsi ★★★★★
()
Ответ на: комментарий от name_no

О да, надо было одеть очки :)

На самом деле, искал униврсальное решение для любой платформы, а их, видимо, перечислять всё равно придётся. Впрочем, пока только четыре планируется, перечислить не напряжно.

world
() автор топика
Ответ на: комментарий от world

Ещё вариант:

$ ls /usr/share/qt4/mkspecs/
aix-g++      freebsd-g++34  hpuxi-acc-64  linux-g++-32   macx-g++       qws             unixware-g++    wince50standard-armv4i-msvc2005  wince60standard-armv4i-msvc2005
aix-g++-64   freebsd-g++40  hpuxi-g++-64  linux-g++-64   macx-g++42     sco-cc          win32-borland   wince50standard-armv4i-msvc2008  wincewm50pocket-msvc2005
aix-xlc      freebsd-icc    hurd-g++      linux-icc      macx-icc       sco-g++         win32-g++       wince50standard-mipsii-msvc2005  wincewm50pocket-msvc2008
aix-xlc-64   gentoo         irix-cc       linux-icc-32   macx-llvm      solaris-cc      win32-icc       wince50standard-mipsii-msvc2008  wincewm50smart-msvc2005
common       hpux-acc       irix-cc-64    linux-icc-64   macx-pbuilder  solaris-cc-64   win32-msvc      wince50standard-mipsiv-msvc2005  wincewm50smart-msvc2008
cygwin-g++   hpux-acc-64    irix-g++      linux-kcc      macx-xcode     solaris-g++     win32-msvc2002  wince50standard-mipsiv-msvc2008  wincewm60professional-msvc2005
darwin-g++   hpux-acc-o64   irix-g++-64   linux-llvm     macx-xlc       solaris-g++-64  win32-msvc2003  wince50standard-sh4-msvc2005     wincewm60professional-msvc2008
default      hpux-g++       linux-cxx     linux-lsb-g++  netbsd-g++     tru64-cxx       win32-msvc2005  wince50standard-sh4-msvc2008     wincewm60standard-msvc2005
features     hpux-g++-64    linux-ecc-64  linux-pgcc     openbsd-g++    tru64-g++       win32-msvc2008  wince50standard-x86-msvc2005     wincewm60standard-msvc2008
freebsd-g++  hpuxi-acc-32   linux-g++     lynxos-g++     qconfig.pri    unixware-cc     win32-msvc.net  wince50standard-x86-msvc2008

Platform Scope Values

In addition to the win32, macx, and unix values used in many scope conditions, various other built-in platform and compiler-specific values can be tested with scopes. These are based on platform specifications provided in Qt's mkspecs directory. For example, the following lines from a project file show the current specification in use and test for the linux-g++ specification:

 message($$QMAKESPEC)

 linux-g++ {
     message(Linux)
 }
You can test for any other platform-compiler combination as long as a specification exists for it in the mkspecs directory.

т.е. грубо говоря, полный список у тебя есть. Посмотреть путь к каталогу можно так:

$ qmake -query QMAKE_MKSPECS
/usr/share/qt4/mkspecs

name_no ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.