From 57fed47ac042f6dd3d5a381ce6b9e5906648ca86 Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Mon, 29 Oct 2012 10:17:33 +0100 Subject: 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 --- tools/configure/configureapp.cpp | 19 +++++++++++++++++++ tools/configure/configureapp.h | 1 + tools/configure/main.cpp | 4 ++++ 3 files changed, 24 insertions(+) (limited to 'tools/configure') 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(); -- cgit v1.2.3