qmake/generators/makefile.cpp
changeset 29 b72c6db6890b
parent 18 2f34d5167611
child 30 5dc02b23752f
equal deleted inserted replaced
25:e24348a560a6 29:b72c6db6890b
  1235         if(!tmp.isEmpty()) {
  1235         if(!tmp.isEmpty()) {
  1236             if(!target.isEmpty())
  1236             if(!target.isEmpty())
  1237                 target += "\n";
  1237                 target += "\n";
  1238             do_default = false;
  1238             do_default = false;
  1239             for(QStringList::Iterator wild_it = tmp.begin(); wild_it != tmp.end(); ++wild_it) {
  1239             for(QStringList::Iterator wild_it = tmp.begin(); wild_it != tmp.end(); ++wild_it) {
  1240                 QString wild = Option::fixPathToLocalOS((*wild_it), false, false);
  1240                 QString wild = Option::fixPathToTargetOS((*wild_it), false, false);
  1241                 QString dirstr = qmake_getpwd(), filestr = wild;
  1241                 QString dirstr = qmake_getpwd(), filestr = wild;
  1242                 int slsh = filestr.lastIndexOf(Option::dir_sep);
  1242                 int slsh = filestr.lastIndexOf(Option::dir_sep);
  1243                 if(slsh != -1) {
  1243                 if(slsh != -1) {
  1244                     dirstr = filestr.left(slsh+1);
  1244                     dirstr = filestr.left(slsh+1);
  1245                     filestr.remove(0, slsh+1);
  1245                     filestr.remove(0, slsh+1);
  1275                     uninst.append(rm_dir_contents + " " + filePrefixRoot(root, fileFixify(dst + filestr, FileFixifyAbsolute, false)));
  1275                     uninst.append(rm_dir_contents + " " + filePrefixRoot(root, fileFixify(dst + filestr, FileFixifyAbsolute, false)));
  1276                     continue;
  1276                     continue;
  1277                 }
  1277                 }
  1278                 QString local_dirstr = Option::fixPathToLocalOS(dirstr, true);
  1278                 QString local_dirstr = Option::fixPathToLocalOS(dirstr, true);
  1279                 QStringList files = QDir(local_dirstr).entryList(QStringList(filestr));
  1279                 QStringList files = QDir(local_dirstr).entryList(QStringList(filestr));
  1280                 if(project->values((*it) + ".CONFIG").indexOf("no_check_exist") != -1 && files.isEmpty()) {
  1280                 const QStringList &installConfigValues = project->values((*it) + ".CONFIG");
       
  1281                 if (installConfigValues.contains("no_check_exist") && files.isEmpty()) {
  1281                     if(!target.isEmpty())
  1282                     if(!target.isEmpty())
  1282                         target += "\t";
  1283                         target += "\t";
  1283                     QString dst_file = filePrefixRoot(root, dst);
  1284                     QString dst_file = filePrefixRoot(root, dst);
  1284                     QFileInfo fi(fileInfo(wild));
  1285                     QFileInfo fi(fileInfo(wild));
  1285                     QString cmd =  QString(fi.isExecutable() ? "-$(INSTALL_PROGRAM)" : "-$(INSTALL_FILE)") + " " +
  1286                     QString cmd;
  1286                                    wild + " " + dst_file + "\n";
  1287                     if (installConfigValues.contains("directory")) {
       
  1288                         cmd = QLatin1String("-$(INSTALL_DIR)");
       
  1289                         if (!dst_file.endsWith(Option::dir_sep))
       
  1290                             dst_file += Option::dir_sep;
       
  1291                         dst_file += fi.fileName();
       
  1292                     } else if (installConfigValues.contains("executable")) {
       
  1293                         cmd = QLatin1String("-$(INSTALL_PROGRAM)");
       
  1294                     } else if (installConfigValues.contains("data")) {
       
  1295                         cmd = QLatin1String("-$(INSTALL_FILE)");
       
  1296                     } else {
       
  1297                         cmd = QString(fi.isExecutable() ? "-$(INSTALL_PROGRAM)" : "-$(INSTALL_FILE)");
       
  1298                     }
       
  1299                     cmd += " " + wild + " " + dst_file + "\n";
  1287                     target += cmd;
  1300                     target += cmd;
  1288                     if(!uninst.isEmpty())
  1301                     if(!uninst.isEmpty())
  1289                         uninst.append("\n\t");
  1302                         uninst.append("\n\t");
  1290                     uninst.append(rm_dir_contents + " " + filePrefixRoot(root, fileFixify(dst + filestr, FileFixifyAbsolute, false)));
  1303                     uninst.append(rm_dir_contents + " " + filePrefixRoot(root, fileFixify(dst + filestr, FileFixifyAbsolute, false)));
  1291                 }
  1304                 }