src/extprogs.cpp

changeset 300
0c7e00cc3d44
parent 288
2980d7fd948e
child 301
ef51681bb978
equal deleted inserted replaced
299:db60288fc36a 300:0c7e00cc3d44
40 cfg (str, prog_intersector, ""); 40 cfg (str, prog_intersector, "");
41 cfg (str, prog_coverer, ""); 41 cfg (str, prog_coverer, "");
42 cfg (str, prog_ytruder, ""); 42 cfg (str, prog_ytruder, "");
43 cfg (str, prog_rectifier, ""); 43 cfg (str, prog_rectifier, "");
44 44
45 #ifndef _WIN32
46 cfg (bool, prog_isecalc_wine, false);
47 cfg (bool, prog_intersector_wine, false);
48 cfg (bool, prog_coverer_wine, false);
49 cfg (bool, prog_ytruder_wine, false);
50 cfg (bool, prog_rectifier_wine, false);
51
52 boolconfig* const g_extProgWine[] = {
53 &prog_isecalc_wine,
54 &prog_intersector_wine,
55 &prog_coverer_wine,
56 &prog_ytruder_wine,
57 &prog_rectifier_wine,
58 };
59 #endif // _WIN32
60
45 const char* g_extProgNames[] = { 61 const char* g_extProgNames[] = {
46 "Isecalc", 62 "Isecalc",
47 "Intersector", 63 "Intersector",
48 "Coverer", 64 "Coverer",
49 "Ytruder", 65 "Ytruder",
159 void runUtilityProcess (extprog prog, str path, QString argvstr) { 175 void runUtilityProcess (extprog prog, str path, QString argvstr) {
160 QTemporaryFile input, output; 176 QTemporaryFile input, output;
161 str inputname, outputname; 177 str inputname, outputname;
162 QStringList argv = argvstr.split (" ", QString::SkipEmptyParts); 178 QStringList argv = argvstr.split (" ", QString::SkipEmptyParts);
163 179
164 printf ("cmdline: %s %s\n", qchars (path), qchars (argvstr)); 180 print ("cmdline: %1 %2\n", path, argvstr);
181
182 #ifndef _WIN32
183 if (g_extProgWine[prog]) {
184 argv.insert (0, path);
185 path = "wine";
186 }
187 #endif // _WIN32
165 188
166 if (!mkTempFile (input, inputname) || !mkTempFile (output, outputname)) 189 if (!mkTempFile (input, inputname) || !mkTempFile (output, outputname))
167 return; 190 return;
168 191
169 QProcess proc; 192 QProcess proc;

mercurial