diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2021-11-19 16:56:19 (GMT) |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2021-11-19 16:56:19 (GMT) |
commit | 1e550ad02d7aaf3a0c89998cc6b67a271d505448 (patch) | |
tree | df70f6c956f0eb0c89d5c1daca0646aa575a02d0 /Source | |
parent | eb9991ad62666649b0349b8c1e88255330c1c05c (diff) | |
download | CMake-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.cxx | 6 |
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; }; |