summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2021-11-19 16:56:19 (GMT)
committerJoerg Bornemann <joerg.bornemann@qt.io>2021-11-19 16:56:19 (GMT)
commit1e550ad02d7aaf3a0c89998cc6b67a271d505448 (patch)
treedf70f6c956f0eb0c89d5c1daca0646aa575a02d0 /Source
parenteb9991ad62666649b0349b8c1e88255330c1c05c (diff)
downloadCMake-1e550ad02d7aaf3a0c89998cc6b67a271d505448.zip
CMake-1e550ad02d7aaf3a0c89998cc6b67a271d505448.tar.gz
CMake-1e550ad02d7aaf3a0c89998cc6b67a271d505448.tar.bz2
AutoMoc: Only add the WIN32 define if the target system is Windows
When there's no moc_predefs.h generated, we add the WIN32 define as fallback. Before this change, we added the WIN32 define if the host system was Windows. That's wrong when cross-compiling. Now we're checking whether the target system is Windows. Fixes: #22933
Diffstat (limited to 'Source')
-rw-r--r--Source/cmQtAutoGenInitializer.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx
index 64d8ea9..c2a37fe 100644
--- a/Source/cmQtAutoGenInitializer.cxx
+++ b/Source/cmQtAutoGenInitializer.cxx
@@ -636,12 +636,12 @@ bool cmQtAutoGenInitializer::InitMoc()
auto getDefs = [this](std::string const& cfg) -> std::set<std::string> {
std::set<std::string> defines;
this->LocalGen->GetTargetDefines(this->GenTarget, cfg, "CXX", defines);
-#ifdef _WIN32
- if (this->Moc.PredefsCmd.empty()) {
+ if (this->Moc.PredefsCmd.empty() &&
+ this->Makefile->GetSafeDefinition("CMAKE_SYSTEM_NAME") ==
+ "Windows") {
// Add WIN32 definition if we don't have a moc_predefs.h
defines.insert("WIN32");
}
-#endif
return defines;
};