qmake/generators/projectgenerator.cpp
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
equal deleted inserted replaced
27:93b982ccede2 31:5daf16870df6
   109                 if(fi.isDir()) {
   109                 if(fi.isDir()) {
   110                     dir = pd;
   110                     dir = pd;
   111                     add_depend = true;
   111                     add_depend = true;
   112                     if(dir.right(1) != Option::dir_sep)
   112                     if(dir.right(1) != Option::dir_sep)
   113                         dir += Option::dir_sep;
   113                         dir += Option::dir_sep;
   114                     if(Option::recursive) {
   114                     if(Option::recursive == Option::QMAKE_RECURSIVE_YES) {
   115                         QStringList files = QDir(dir).entryList(QDir::Files);
   115                         QStringList files = QDir(dir).entryList(QDir::Files);
   116                         for(int i = 0; i < (int)files.count(); i++) {
   116                         for(int i = 0; i < (int)files.count(); i++) {
   117                             if(files[i] != "." && files[i] != "..")
   117                             if(files[i] != "." && files[i] != "..")
   118                                 dirs.append(dir + files[i] + QDir::separator() + builtin_regex);
   118                                 dirs.append(dir + files[i] + QDir::separator() + builtin_regex);
   119                         }
   119                         }
   136                 int s = regex.lastIndexOf(Option::dir_sep);
   136                 int s = regex.lastIndexOf(Option::dir_sep);
   137                 if(s != -1) {
   137                 if(s != -1) {
   138                     dir = regex.left(s+1);
   138                     dir = regex.left(s+1);
   139                     regex = regex.right(regex.length() - (s+1));
   139                     regex = regex.right(regex.length() - (s+1));
   140                 }
   140                 }
   141                 if(Option::recursive) {
   141                 if(Option::recursive == Option::QMAKE_RECURSIVE_YES) {
   142                     QStringList entries = QDir(dir).entryList(QDir::Dirs);
   142                     QStringList entries = QDir(dir).entryList(QDir::Dirs);
   143                     for(int i = 0; i < (int)entries.count(); i++) {
   143                     for(int i = 0; i < (int)entries.count(); i++) {
   144                         if(entries[i] != "." && entries[i] != "..") {
   144                         if(entries[i] != "." && entries[i] != "..") {
   145                             dirs.append(dir + entries[i] + QDir::separator() + regex);
   145                             dirs.append(dir + entries[i] + QDir::separator() + regex);
   146                         }
   146                         }
   191                             if(profiles[i] != "." && profiles[i] != ".." &&
   191                             if(profiles[i] != "." && profiles[i] != ".." &&
   192                                !subdirs.contains(nd, Qt::CaseInsensitive) && !out_file.endsWith(nd))
   192                                !subdirs.contains(nd, Qt::CaseInsensitive) && !out_file.endsWith(nd))
   193                                 subdirs.append(nd);
   193                                 subdirs.append(nd);
   194                         }
   194                         }
   195                     }
   195                     }
   196                     if(Option::recursive) {
   196                     if(Option::recursive == Option::QMAKE_RECURSIVE_YES) {
   197                         QStringList dirs = QDir(newdir).entryList(QDir::Dirs);
   197                         QStringList dirs = QDir(newdir).entryList(QDir::Dirs);
   198                         for(int i = 0; i < (int)dirs.count(); i++) {
   198                         for(int i = 0; i < (int)dirs.count(); i++) {
   199                             QString nd = fileFixify(newdir + QDir::separator() + dirs[i]);
   199                             QString nd = fileFixify(newdir + QDir::separator() + dirs[i]);
   200                             if(dirs[i] != "." && dirs[i] != ".." && !knownDirs.contains(nd, Qt::CaseInsensitive))
   200                             if(dirs[i] != "." && dirs[i] != ".." && !knownDirs.contains(nd, Qt::CaseInsensitive))
   201                                 knownDirs.append(nd);
   201                                 knownDirs.append(nd);
   228                                     if(newdir + files[i] != Option::output_dir + Option::output.fileName())
   228                                     if(newdir + files[i] != Option::output_dir + Option::output.fileName())
   229                                         subdirs.append(nd);
   229                                         subdirs.append(nd);
   230                                 }
   230                                 }
   231                             }
   231                             }
   232                         }
   232                         }
   233                         if(Option::recursive && !knownDirs.contains(newdir, Qt::CaseInsensitive))
   233                         if(Option::recursive == Option::QMAKE_RECURSIVE_YES
       
   234                            && !knownDirs.contains(newdir, Qt::CaseInsensitive))
   234                             knownDirs.append(newdir);
   235                             knownDirs.append(newdir);
   235                     }
   236                     }
   236                 }
   237                 }
   237             }
   238             }
   238         }
   239         }