From 7fa7f55230fda5ac0135b1f4a220c15ad5983857 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 18 Dec 2019 05:28:27 -0500 Subject: Autogen: Revert processing of .hh files for compatibility Since commit 4a9154537c (Autogen: Use cmake::IsHeader/SourceExtension for file type detection, 2019-07-02, v3.16.0-rc1~470^2~4) we process `.hh` files with `AUTOMOC`. However, this change can break existing projects that do not expect the behavior. Revert it for now. It can be restored later via a policy. Fixes: #20101 --- Source/cmQtAutoGenInitializer.cxx | 6 ++++-- Tests/QtAutogen/SameName/CMakeLists.txt | 1 - Tests/QtAutogen/SameName/main.cpp | 2 -- Tests/QtAutogen/SameName/object.hh | 13 ------------- 4 files changed, 4 insertions(+), 18 deletions(-) delete mode 100644 Tests/QtAutogen/SameName/object.hh diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index a20f106..6b0fc1e 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -764,7 +764,8 @@ bool cmQtAutoGenInitializer::InitScanFiles() // Register files that will be scanned by moc or uic if (this->MocOrUicEnabled()) { - if (cm->IsHeaderExtension(extLower)) { + // FIXME: Add a policy to include .hh files. + if (cm->IsHeaderExtension(extLower) && extLower != "hh") { addMUFile(makeMUFile(sf, fullPath, true), true); } else if (cm->IsSourceExtension(extLower)) { addMUFile(makeMUFile(sf, fullPath, true), false); @@ -876,7 +877,8 @@ bool cmQtAutoGenInitializer::InitScanFiles() std::string const& extLower = cmSystemTools::LowerCase(sf->GetExtension()); - if (cm->IsHeaderExtension(extLower)) { + // FIXME: Add a policy to include .hh files. + if (cm->IsHeaderExtension(extLower) && extLower != "hh") { if (!cmContains(this->AutogenTarget.Headers, sf)) { auto muf = makeMUFile(sf, fullPath, false); if (muf->SkipMoc || muf->SkipUic) { diff --git a/Tests/QtAutogen/SameName/CMakeLists.txt b/Tests/QtAutogen/SameName/CMakeLists.txt index 1919cc7..cd29a2a 100644 --- a/Tests/QtAutogen/SameName/CMakeLists.txt +++ b/Tests/QtAutogen/SameName/CMakeLists.txt @@ -18,7 +18,6 @@ add_executable(sameName ccc/data.qrc item.cpp object.h - object.hh object.h++ object.hpp object.hxx diff --git a/Tests/QtAutogen/SameName/main.cpp b/Tests/QtAutogen/SameName/main.cpp index 725f4cd..19a6f6d 100644 --- a/Tests/QtAutogen/SameName/main.cpp +++ b/Tests/QtAutogen/SameName/main.cpp @@ -6,7 +6,6 @@ #include "item.hpp" #include "object.h" #include "object.h++" -#include "object.hh" #include "object.hpp" #include "object.hxx" #include "object_upper_ext.H" @@ -22,7 +21,6 @@ int main(int argv, char** args) ::ccc::Item ccc_item; // Object instances ::Object_h obj_h; - ::Object_hh obj_hh; ::Object_hplpl obj_hplpl; ::Object_hpp obj_hpp; ::Object_hxx obj_hxx; diff --git a/Tests/QtAutogen/SameName/object.hh b/Tests/QtAutogen/SameName/object.hh deleted file mode 100644 index 3e16f83..0000000 --- a/Tests/QtAutogen/SameName/object.hh +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef OBJECT_HH -#define OBJECT_HH - -#include - -class Object_hh : public QObject -{ - Q_OBJECT - Q_SLOT - void go(){}; -}; - -#endif -- cgit v0.12