2016-07-09 19 views
1

Ich versuche, eine INSTALLS-Regel zu meiner qmake .pro-Datei hinzuzufügen, die einen Symlink im Build-Verzeichnis zum config-Verzeichnis in meinem Projekt erstellen wird. Hier ist, wie ich habe versucht, es zu tun mit dem ‚Extra‘ Mitglied:Qmake INSTALLS Variable - create symbolische Verbindung zum Verzeichnis

config.path = $$top_builddir/ 
config.files = $$rootdir/config 
config.extra = ln -sf $$config.files $$config.path 
INSTALLS += config 

wo top_builddir und rootdir sind natürlich die Pfade zu dem Build-Verzeichnis und Projektstammverzeichnis auf.

Die erzeugte Makefile Regel lautet:

install_config: FORCE 
@test -d $(INSTALL_ROOT)/home/greg/Desktop/mg_builds/MPI-Debug || mkdir -p $(INSTALL_ROOT)/home/greg/Desktop/mg_builds/MPI-Debug 
ln -sf /home/greg/Desktop/mg/config /home/greg/Desktop/mg_builds/MPI-Debug/ 
-$(INSTALL_DIR) /home/greg/Desktop/mg/config $(INSTALL_ROOT)/home/greg/Desktop/mg_builds/MPI-Debug/ 

Der zusätzliche Befehl hinzugefügt wurde, aber es ist auch der Befehl cp das Verzeichnis zu, die den Fehler verursacht verursacht wird:

cp: '/home/greg/Desktop/mg/config' and '/home/greg/Desktop/mg_builds/MPI-Debug/config' are the same file 
Makefile:580: recipe for target 'install_config' failed 

Wie kann Ich unterdrücke dies oder sage qmake, um einen Symlink statt einer Kopie zu machen?

Antwort

0

Nach ein wenig Experimentieren fand ich, dass dies ganz gut funktioniert. Sie können das Element .files leer lassen (d. H. .files =) oder es einfach ganz weglassen, und im Makefile wird kein Kopierbefehl generiert. Das Zielverzeichnis kann direkt in den Befehl extra geschrieben werden. Für die zu erzeugende Regel ist jedoch noch ein .path erforderlich.

config.path = $$top_builddir/ 
config.extra = ln -sf $$rootdir/config $$config.path 
INSTALLS += config 

Makefile:

install_config: FORCE 
@test -d $(INSTALL_ROOT)/home/greg/Desktop/mg_builds/MPI-Debug/ || mkdir -p $(INSTALL_ROOT)/home/greg/Desktop/mg_builds/MPI-Debug/ 
ln -sf /home/greg/Desktop/mg/config /home/greg/Desktop/mg_builds/MPI-Debug/ 
Verwandte Themen