summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/configure/configureapp.cpp19
-rw-r--r--tools/configure/configureapp.h1
-rw-r--r--tools/configure/main.cpp4
3 files changed, 24 insertions, 0 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 113ebf7692..472563a760 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -2312,6 +2312,25 @@ void Configure::generateBuildKey()
build_defines.sort();
}
+void Configure::generateSystemVars()
+{
+ // Generate an empty .qmake.cache file for config.tests
+ QDir buildDir(buildPath);
+ bool success = true;
+ if (!buildDir.exists("config.tests"))
+ success = buildDir.mkdir("config.tests");
+
+ QString fileName(buildPath + "/config.tests/.qmake.cache");
+ QFile cacheFile(fileName);
+ success &= cacheFile.open(QIODevice::WriteOnly);
+ cacheFile.close();
+
+ if (!success) {
+ cout << "Failed to create file " << qPrintable(QDir::toNativeSeparators(fileName)) << endl;
+ dictionary[ "DONE" ] = "error";
+ }
+}
+
void Configure::generateOutputVars()
{
// Generate variables for output
diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h
index 8cae9da4f8..16d0a1164f 100644
--- a/tools/configure/configureapp.h
+++ b/tools/configure/configureapp.h
@@ -83,6 +83,7 @@ public:
void generateConfigfiles();
void detectArch();
void generateQConfigPri();
+ void generateSystemVars();
#endif
void showSummary();
void findProjects( const QString& dirName );
diff --git a/tools/configure/main.cpp b/tools/configure/main.cpp
index 53013c969d..e917137837 100644
--- a/tools/configure/main.cpp
+++ b/tools/configure/main.cpp
@@ -78,6 +78,10 @@ int runConfigure( int argc, char** argv )
if (!app.isOk())
return 3;
+ app.generateSystemVars();
+ if (!app.isOk())
+ return 3;
+
// Auto-detect modules and settings.
app.autoDetection();