qmake/generators/makefile.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
equal deleted inserted replaced
30:5dc02b23752f 33:3e2da88830cd
   970             libs << "QMAKE_LIBS"; //obvious one
   970             libs << "QMAKE_LIBS"; //obvious one
   971         if(project->isActiveConfig("staticlib"))
   971         if(project->isActiveConfig("staticlib"))
   972             libs << "QMAKE_LIBS_PRIVATE";
   972             libs << "QMAKE_LIBS_PRIVATE";
   973         t << "QMAKE_PRL_LIBS = ";
   973         t << "QMAKE_PRL_LIBS = ";
   974         for(QStringList::Iterator it = libs.begin(); it != libs.end(); ++it)
   974         for(QStringList::Iterator it = libs.begin(); it != libs.end(); ++it)
   975             t << project->values((*it)).join(" ") << " ";
   975             t << project->values((*it)).join(" ").replace('\\', "\\\\") << " ";
   976         t << endl;
   976         t << endl;
   977     }
   977     }
   978 }
   978 }
   979 
   979 
   980 bool
   980 bool
  1760                 tmp_cmd = cmdline.join(" ");
  1760                 tmp_cmd = cmdline.join(" ");
  1761             }
  1761             }
  1762         }
  1762         }
  1763         QStringList tmp_dep = project->values((*it) + ".depends");
  1763         QStringList tmp_dep = project->values((*it) + ".depends");
  1764         QString tmp_dep_cmd;
  1764         QString tmp_dep_cmd;
       
  1765         QString dep_cd_cmd;
  1765         if(!project->isEmpty((*it) + ".depend_command")) {
  1766         if(!project->isEmpty((*it) + ".depend_command")) {
  1766             int argv0 = -1;
  1767             int argv0 = -1;
  1767             QStringList cmdline = project->values((*it) + ".depend_command");
  1768             QStringList cmdline = project->values((*it) + ".depend_command");
  1768             for(int i = 0; i < cmdline.count(); ++i) {
  1769             for(int i = 0; i < cmdline.count(); ++i) {
  1769                 if(!cmdline.at(i).contains('=')) {
  1770                 if(!cmdline.at(i).contains('=')) {
  1778                     tmp_dep_cmd = cmdline.join(" ");
  1779                     tmp_dep_cmd = cmdline.join(" ");
  1779                 } else {
  1780                 } else {
  1780                     cmdline[argv0] = escapeFilePath(cmdline.at(argv0));
  1781                     cmdline[argv0] = escapeFilePath(cmdline.at(argv0));
  1781                 }
  1782                 }
  1782             }
  1783             }
       
  1784             dep_cd_cmd = QLatin1String("cd ")
       
  1785                  + escapeFilePath(Option::fixPathToLocalOS(Option::output_dir, false))
       
  1786                  + QLatin1String(" && ");
  1783         }
  1787         }
  1784         QStringList &vars = project->values((*it) + ".variables");
  1788         QStringList &vars = project->values((*it) + ".variables");
  1785         if(tmp_out.isEmpty() || tmp_cmd.isEmpty())
  1789         if(tmp_out.isEmpty() || tmp_cmd.isEmpty())
  1786             continue;
  1790             continue;
  1787         QStringList tmp_inputs;
  1791         QStringList tmp_inputs;
  1879                 inputs += Option::fixPathToTargetOS((*input), false);
  1883                 inputs += Option::fixPathToTargetOS((*input), false);
  1880                 if(!tmp_dep_cmd.isEmpty() && doDepends()) {
  1884                 if(!tmp_dep_cmd.isEmpty() && doDepends()) {
  1881                     char buff[256];
  1885                     char buff[256];
  1882                     QString dep_cmd = replaceExtraCompilerVariables(tmp_dep_cmd, (*input),
  1886                     QString dep_cmd = replaceExtraCompilerVariables(tmp_dep_cmd, (*input),
  1883                                                                     tmp_out);
  1887                                                                     tmp_out);
  1884                     dep_cmd = fixEnvVariables(dep_cmd);
  1888                     dep_cmd = dep_cd_cmd + fixEnvVariables(dep_cmd);
  1885                     if(FILE *proc = QT_POPEN(dep_cmd.toLatin1().constData(), "r")) {
  1889                     if(FILE *proc = QT_POPEN(dep_cmd.toLatin1().constData(), "r")) {
  1886                         QString indeps;
  1890                         QString indeps;
  1887                         while(!feof(proc)) {
  1891                         while(!feof(proc)) {
  1888                             int read_in = (int)fread(buff, 1, 255, proc);
  1892                             int read_in = (int)fread(buff, 1, 255, proc);
  1889                             if(!read_in)
  1893                             if(!read_in)
  1977             for(QStringList::ConstIterator it3 = vars.constBegin(); it3 != vars.constEnd(); ++it3)
  1981             for(QStringList::ConstIterator it3 = vars.constBegin(); it3 != vars.constEnd(); ++it3)
  1978                 cmd.replace("$(" + (*it3) + ")", "$(QMAKE_COMP_" + (*it3)+")");
  1982                 cmd.replace("$(" + (*it3) + ")", "$(QMAKE_COMP_" + (*it3)+")");
  1979             if(!tmp_dep_cmd.isEmpty() && doDepends()) {
  1983             if(!tmp_dep_cmd.isEmpty() && doDepends()) {
  1980                 char buff[256];
  1984                 char buff[256];
  1981                 QString dep_cmd = replaceExtraCompilerVariables(tmp_dep_cmd, (*input), out);
  1985                 QString dep_cmd = replaceExtraCompilerVariables(tmp_dep_cmd, (*input), out);
  1982                 dep_cmd = fixEnvVariables(dep_cmd);
  1986                 dep_cmd = dep_cd_cmd + fixEnvVariables(dep_cmd);
  1983                 if(FILE *proc = QT_POPEN(dep_cmd.toLatin1().constData(), "r")) {
  1987                 if(FILE *proc = QT_POPEN(dep_cmd.toLatin1().constData(), "r")) {
  1984                     QString indeps;
  1988                     QString indeps;
  1985                     while(!feof(proc)) {
  1989                     while(!feof(proc)) {
  1986                         int read_in = (int)fread(buff, 1, 255, proc);
  1990                         int read_in = (int)fread(buff, 1, 255, proc);
  1987                         if(!read_in)
  1991                         if(!read_in)