diff options
author | Jason Barron <jason.barron@digia.com> | 2012-10-29 10:17:33 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-10-30 12:53:46 +0100 |
commit | 57fed47ac042f6dd3d5a381ce6b9e5906648ca86 (patch) | |
tree | 62b1c3bc9752c932b4dea11295b94c78f23f66f2 /tools | |
parent | a48508cd766b056d3cb5b6502cf269a8293bb5a5 (diff) |
Generate a .qmake.cache in config.tests from configure.exe.
We need to generate a .qmake.cache file in the config.tests
directory on Windows to ensure that the config.tests can
actually be compiled before the qmodule.pri is created.
Task-number: QTBUG-27708
Change-Id: I8d9397a8cbdb2aa19a5318497177d76049f9fa91
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/configure/configureapp.cpp | 19 | ||||
-rw-r--r-- | tools/configure/configureapp.h | 1 | ||||
-rw-r--r-- | tools/configure/main.cpp | 4 |
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(); |