From 0cb8c463287fcd74767af377dcc895bf8c848c0a Mon Sep 17 00:00:00 2001 From: Yuchen Deng Date: Fri, 31 Aug 2012 23:06:08 +0800 Subject: [PATCH] Fix cross compiling for CMake based project On Linux/Unix, there does not exist "MinGW Makefiles" generator. Using "Unix Makefiles" can simply fixed the issue on Linux. And does not effect Windows builds. Change-Id: Id69e1a24485fbab05866f52d823035abc1dca06b Reviewed-by: Daniel Teske --- .../cmakeprojectmanager/cmakeopenprojectwizard.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 12e008bb414..7807dee197e 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -423,8 +423,14 @@ void CMakeRunPage::initializePage() if (hasCodeBlocksGenerator && (cachedGenerator.isEmpty() || cachedGenerator == "NMake Makefiles")) m_generatorComboBox->addItem(tr("NMake Generator (%1)").arg(p->displayName()), profileVariant); } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { +#ifdef Q_OS_WIN if (cachedGenerator.isEmpty() || cachedGenerator == "MinGW Makefiles") m_generatorComboBox->addItem(tr("MinGW Generator (%1)").arg(p->displayName()), profileVariant); +#else + if (cachedGenerator.isEmpty() || cachedGenerator == "Unix Makefiles") + m_generatorComboBox->addItem(tr("Unix Generator (%1)").arg(p->displayName()), profileVariant); +#endif + } } else { // Non windows @@ -460,7 +466,11 @@ void CMakeRunPage::runCMake() QString generator = QLatin1String("-GCodeBlocks - Unix Makefiles"); if (tc->targetAbi().os() == ProjectExplorer::Abi::WindowsOS) { if (tc->targetAbi().osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) +#ifdef Q_OS_WIN generator = QLatin1String("-GCodeBlocks - MinGW Makefiles"); +#else + generator = QLatin1String("-GCodeBlocks - Unix Makefiles"); +#endif else generator = QLatin1String("-GCodeBlocks - NMake Makefiles"); }