Opened 4 years ago

Closed 4 years ago

#325 closed defect (fixed)

Double install of data folders under Windows

Reported by: DirkHH Owned by: thiago
Priority: blocker Component: Qt-UI
Version: current git - add SHA in description Keywords:
Cc: thiago@… Plattform (please give specifics in the ticket text): Windows

Description

We currently install (and then bundle) these under Windows:

data/bitmaps/bitmaps
data/maps/maps
icons/icons
images/images
xslt/xslt

Change History (1)

comment:1 Changed 4 years ago by Dirk Hohndel <dirk@…>

  • Resolution set to fixed
  • Status changed from new to closed

In 7881fb7edc0d9e3e928df952180d260f19f70296/subsurface:

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 <thiago@…>
Signed-off-by: Dirk Hohndel <dirk@…>

Note: See TracTickets for help on using tickets.