Seite 1 von 1
qmake und weietre qmake Projekte
Verfasst: 30. Dezember 2006 10:16
von QtBerserker
Hi,
irgendwie bekomme ich es nicht in die Reihe, in ein qmake (.pro) Project ein weiteres, bereits vorhandenes qmake (.pro) Project einzufügen. Beide entstanden unabhängig voneinander und sind im svn auch getrennt.
Ein einfaches include(path/to/other/project.pro) klappt nicht so recht, da die Pfade dann nicht mehr stimmen.
MasterProject project.pro:
SOURCES = src/foo.cpp
include(path/to/other/project.pro)
SubProject:
SOURCES = src/bar.cpp
Beim SubProject kommt dann bei Aufruf von qmake:
WARNING: Failure to find: src/bar.cpp
Gibt es eine Strategie oder ähnliches dafür?
Bitte nicht so Allgemeines wie RTFM - das habe ich, konkrete Hinweise sind hilfreicher.
Grüße
Olaf
Verfasst: 30. Dezember 2006 10:24
von BartSimpson
so geht es nicht.
Ein Beispiel wie man es machen kann, findes du
hier
Verfasst: 30. Dezember 2006 21:56
von QtBerserker
vielen Dank!
weisst jemand auch noch, wie ich Folgendes
Code: Alles auswählen
pathfile.target = pathfile
pathfile.commands = 'cat << EOF > src/CompilePaths.hpp
#ifndef COMPILE_PATH_HPP
#define COMPILE_PATH_HPP
#define CONFIGURE_PREFIX_PATH = "$${INSTALL_PREFIX}"
#define CONFIGURE_DOCUMENTATION_PATH = "$${INSTALL_DOCS}"
#define CONFIGURE_HEADERS_PATH = "$${INSTALL_HEADERS}"
#define CONFIGURE_LIBRARIES_PATH = "$${INSTALL_LIBS}"
#define CONFIGURE_BINARIES_PATH = "$${INSTALL_BINS}"
#define CONFIGURE_PLUGINS_PATH = "$${INSTALL_PLUGINS}"
#define CONFIGURE_DATA_PATH = "$${INSTALL_DATA}"
#define CONFIGURE_TRANSLATIONS_PATH = "$${INSTALL_TRANSLATIONS}"
#define CONFIGURE_SETTINGS_PATH = "$${INSTALL_SETTINGS}"
#endif
EOF'
bzw. Äquivalentes schreiben kann? Als Fehler bekomme ich:
project.pro:109: Parse Error ('EOF'')
Grüße
Olaf
Verfasst: 1. Januar 2007 19:21
von QtBerserker
OK, so scheint es wohl nicht zu gehen. Nun versuche ich es mit folgenden (brutal de luxe) Ansatz:
generate.pri:
Code: Alles auswählen
include($${SOURCE_TREE}/admin/install.pri)
path_cpp.target = CompileTimePaths.cpp
path_cpp.args += -e 's:@CONFIGURE_PREFIX_PATH@:$${INSTALL_PREFIX}:g'
path_cpp.args += -e 's:@CONFIGURE_DOCUMENTATION_PATH@:$${INSTALL_DOCS}:g'
path_cpp.args += -e 's:@CONFIGURE_HEADERS_PATH@:$${INSTALL_HEADERS}:g'
path_cpp.args += -e 's:@CONFIGURE_LIBRARIES_PATH@:$${INSTALL_LIBS}:g'
path_cpp.args += -e 's:@CONFIGURE_BINARIES_PATH@:$${INSTALL_BINS}:g'
path_cpp.args += -e 's:@CONFIGURE_PLUGINS_PATH@:$${INSTALL_PLUGINS}:g'
path_cpp.args += -e 's:@CONFIGURE_DATA_PATH@:$${INSTALL_DATA}:g'
path_cpp.args += -e 's:@CONFIGURE_TRANSLATIONS_PATH@:$${INSTALL_TRANSLATIONS}:g'
path_cpp.args += -e 's:@CONFIGURE_SETTINGS_PATH@:$${INSTALL_SETTINGS}:g'
path_cpp.args += -e 's:@CONFIGURE_EXAMPLES_PATH@:$${INSTALL_EXAMPLES}:g'
path_cpp.args += -e 's:@CONFIGURE_DEMOS_PATH@:$${INSTALL_DEMOS}:g'
path_cpp.src = $${SOURCE_TREE}/admin/CompileTimePaths.cpp.in
path_cpp.dest = $${BUILD_TREE}/build/CompileTimePaths.cpp
path_cpp.commands = sed $${path_cpp.args} $${path_cpp.src} > $${path_cpp.dest}
SOURCES += $${path_cpp.dest}
QMAKE_EXTRA_TARGETS += path_cpp
mit dem src/src.pro:
Beim Aufruf von qmake bekomme ich verständlicherweise die Warnung:
WARNING: Failure to find: /var/tmp/eda/build/CompileTimePaths.cpp
Auch wird das File nicht wie erhofft erzeugt. Wie bekomme ich das hin? Auch dürfte sed nicht unbedingt zum Std Tool unter win32 zählen, geht dass auch mit qmake Mitteln?
Vielen Dank && Grüße
Olaf