From 7881fb7edc0d9e3e928df952180d260f19f70296 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 5 Dec 2013 15:34:09 -0800 Subject: Avoid copying the icons, xslt and other dirs into themselves. The install rule that qmake generates was of the form: -$(INSTALL_DIR) icons packaging/windows/icons The first time you run make install, packaging/windows/icons doesn't exist, so /usr/bin/install understands it as the name to be given to the dir being installed. However, when you run make install a second time, /usr/bin/install understands it as the target directory, so it copies icons into the packaging/windows/icons dir. We need to teach qmake not to add the dir name. Inspecting the source code reveals: if(fi.isDir() && project->isActiveConfig("copy_dir_files")) { if(!dst_file.endsWith(Option::dir_sep)) dst_file += Option::dir_sep; dst_file += fi.fileName(); } This option is enabled by default on all the win32-* targets. So if we remove the "copy_dir_files" config, it won't append the source name. The qmake manual says this about that option: "Enables the install rule to also copy directories, not just files.", which doesn't help us much. Probably just stale documentation. Fixes #325 Signed-off-by: Thiago Macieira Signed-off-by: Dirk Hohndel --- subsurface-install.pri | 1 + 1 file changed, 1 insertion(+) diff --git a/subsurface-install.pri b/subsurface-install.pri index 79ee30472..7bf84592f 100644 --- a/subsurface-install.pri +++ b/subsurface-install.pri @@ -46,6 +46,7 @@ mac { NSIINPUTFILE = $$PWD/$$WINDOWSSTAGING/subsurface.nsi.in MAKENSIS = /usr/bin/makensis + CONFIG -= copy_dir_files deploy.path = $$WINDOWSSTAGING deploy.files += $$xslt.files $$doc.files $$icons.files deploy.CONFIG += no_check_exist -- cgit v1.2.3-70-g09d2