From 187481d4d988f45e05f2f7a6e89df89cd64ecfe9 Mon Sep 17 00:00:00 2001 From: Sebastian Holtermann Date: Thu, 6 Dec 2018 18:19:11 +0100 Subject: Autogen: Revert passing compiler implicit includes to moc Passing an incomplete list of compiler include directories causes a regression in the KIO project (and probably others). We need to disable it until the complete list is available (see #16291). Fixes: #18669 Issue: #18041 --- Help/release/3.13.rst | 13 +++++++++++++ Source/cmQtAutoGenInitializer.cxx | 10 +++++++--- Tests/QtAutogen/CommonTests.cmake | 7 ++++--- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Help/release/3.13.rst b/Help/release/3.13.rst index 9f7e61f..68e05c3 100644 --- a/Help/release/3.13.rst +++ b/Help/release/3.13.rst @@ -239,3 +239,16 @@ Other Changes These internal implementation modules are also no longer available to scripts that may have been incorrectly including them, because they should never have been available in the first place. + +Updates +======= + +Changes made since CMake 3.13.0 include the following. + +3.13.2 +------ + +* CMake 3.13.0 included a change to pass compiler implicit include + directories to the ``moc`` tool for :prop_tgt:`AUTOMOC`. This has + been reverted due to regressing existing builds and will need + further investigation before being re-introduced in a later release. diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index ba7a565..f9c8c7f 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -386,9 +386,13 @@ bool cmQtAutoGenInitializer::InitMoc() // Moc includes { - bool const appendImplicit = (this->QtVersion.Major == 5); - auto GetIncludeDirs = - [this, localGen, appendImplicit](std::string const& cfg) -> std::string { + // We need to disable this until we have all implicit includes available. + // See issue #18669. + // bool const appendImplicit = (this->QtVersion.Major == 5); + + auto GetIncludeDirs = [this, + localGen](std::string const& cfg) -> std::string { + bool const appendImplicit = false; // Get the include dirs for this target, without stripping the implicit // include dirs off, see // https://gitlab.kitware.com/cmake/cmake/issues/13667 diff --git a/Tests/QtAutogen/CommonTests.cmake b/Tests/QtAutogen/CommonTests.cmake index 01ed7e9..ef11ddf 100644 --- a/Tests/QtAutogen/CommonTests.cmake +++ b/Tests/QtAutogen/CommonTests.cmake @@ -23,9 +23,10 @@ endif() if(QT_TEST_ALLOW_QT_MACROS) ADD_AUTOGEN_TEST(MocCMP0071) endif() -if(QT_TEST_VERSION GREATER 4) - ADD_AUTOGEN_TEST(MocOsMacros) -endif() +# Disabled for issue #18669 +#if(QT_TEST_VERSION GREATER 4) +# ADD_AUTOGEN_TEST(MocOsMacros) +#endif() ADD_AUTOGEN_TEST(UicInclude uicInclude) ADD_AUTOGEN_TEST(UicInterface QtAutoUicInterface) ADD_AUTOGEN_TEST(ObjectLibrary someProgram) -- cgit v0.12 From 4be7f38d57bdf94a600edace627be8e14f331250 Mon Sep 17 00:00:00 2001 From: Sebastian Holtermann Date: Thu, 6 Dec 2018 18:42:40 +0100 Subject: Autogen: Revert passing compiler implicit includes to moc Passing an incomplete list of compiler include directories causes a regression in the KIO project (and probably others). We need to disable it until the complete list is available (see #16291). Fixes: #18669 Issue: #18041 --- Source/cmQtAutoGenInitializer.cxx | 9 ++++++--- Tests/QtAutogen/Tests.cmake | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index d4819a3..9dfd9db 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -489,10 +489,13 @@ bool cmQtAutoGenInitializer::InitMoc() // Moc includes { - bool const appendImplicit = (this->QtVersion.Major == 5); + // We need to disable this until we have all implicit includes available. + // See issue #18669. + // bool const appendImplicit = (this->QtVersion.Major == 5); + auto GetIncludeDirs = - [this, localGen, - appendImplicit](std::string const& cfg) -> std::vector { + [this, localGen](std::string const& cfg) -> std::vector { + bool const appendImplicit = false; // Get the include dirs for this target, without stripping the implicit // include dirs off, see // https://gitlab.kitware.com/cmake/cmake/issues/13667 diff --git a/Tests/QtAutogen/Tests.cmake b/Tests/QtAutogen/Tests.cmake index 096d5e3..c53fb4f 100644 --- a/Tests/QtAutogen/Tests.cmake +++ b/Tests/QtAutogen/Tests.cmake @@ -39,7 +39,8 @@ endif() # Qt5 only tests if(QT_TEST_VERSION GREATER 4) ADD_AUTOGEN_TEST(MocMacroName mocMacroName) - ADD_AUTOGEN_TEST(MocOsMacros) + # Disabled for issue #18669 + #ADD_AUTOGEN_TEST(MocOsMacros) ADD_AUTOGEN_TEST(RerunMocPlugin) if(APPLE) ADD_AUTOGEN_TEST(MacOsFW) -- cgit v0.12