From 1706bcbb2512f4d9cf4cbdf7a65c12205b200e63 Mon Sep 17 00:00:00 2001 From: Patrick Stewart Date: Tue, 7 Jan 2020 23:43:11 +0000 Subject: [PATCH] Support Qt in namespace (#69) Enable support for Qt built with the -qtnamespace configure option Do it properly this time with QT_FORWARD_DECLARE_CLASS --- CMakeLists.txt | 4 ++++ filters/expressionfilter.h | 2 +- filters/filtercontainer.h | 2 ++ proxyroles/expressionrole.h | 2 +- proxyroles/proxyrolecontainer.h | 2 ++ sorters/expressionsorter.h | 2 +- sorters/sortercontainer.h | 2 ++ 7 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d3bf2b..090dd0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,10 @@ add_library(SortFilterProxyModel OBJECT proxyroles/filterrole.cpp ) +target_compile_definitions(SortFilterProxyModel PUBLIC + $ + ) + target_include_directories(SortFilterProxyModel PUBLIC ${CMAKE_CURRENT_LIST_DIR} $ diff --git a/filters/expressionfilter.h b/filters/expressionfilter.h index fe7da4a..8917644 100644 --- a/filters/expressionfilter.h +++ b/filters/expressionfilter.h @@ -4,7 +4,7 @@ #include "filter.h" #include -class QQmlExpression; +QT_FORWARD_DECLARE_CLASS(QQmlExpression); namespace qqsfpm { diff --git a/filters/filtercontainer.h b/filters/filtercontainer.h index 6f1257a..a45f7cc 100644 --- a/filters/filtercontainer.h +++ b/filters/filtercontainer.h @@ -36,7 +36,9 @@ class FilterContainer { } +QT_BEGIN_NAMESPACE #define FilterContainer_iid "fr.grecko.SortFilterProxyModel.FilterContainer" Q_DECLARE_INTERFACE(qqsfpm::FilterContainer, FilterContainer_iid) +QT_END_NAMESPACE #endif // FILTERCONTAINER_H diff --git a/proxyroles/expressionrole.h b/proxyroles/expressionrole.h index eda3d51..827a61c 100644 --- a/proxyroles/expressionrole.h +++ b/proxyroles/expressionrole.h @@ -4,7 +4,7 @@ #include "singlerole.h" #include -class QQmlExpression; +QT_FORWARD_DECLARE_CLASS(QQmlExpression); namespace qqsfpm { diff --git a/proxyroles/proxyrolecontainer.h b/proxyroles/proxyrolecontainer.h index f1572da..9145010 100644 --- a/proxyroles/proxyrolecontainer.h +++ b/proxyroles/proxyrolecontainer.h @@ -36,7 +36,9 @@ class ProxyRoleContainer { } +QT_BEGIN_NAMESPACE #define ProxyRoleContainer_iid "fr.grecko.SortFilterProxyModel.ProxyRoleContainer" Q_DECLARE_INTERFACE(qqsfpm::ProxyRoleContainer, ProxyRoleContainer_iid) +QT_END_NAMESPACE #endif // PROXYROLECONTAINER_H diff --git a/sorters/expressionsorter.h b/sorters/expressionsorter.h index 6ca17fd..6ae4c65 100644 --- a/sorters/expressionsorter.h +++ b/sorters/expressionsorter.h @@ -4,7 +4,7 @@ #include "sorter.h" #include -class QQmlExpression; +QT_FORWARD_DECLARE_CLASS(QQmlExpression); namespace qqsfpm { diff --git a/sorters/sortercontainer.h b/sorters/sortercontainer.h index 5a09c09..52a9312 100644 --- a/sorters/sortercontainer.h +++ b/sorters/sortercontainer.h @@ -36,7 +36,9 @@ class SorterContainer { } +QT_BEGIN_NAMESPACE #define SorterContainer_iid "fr.grecko.SortFilterProxyModel.SorterContainer" Q_DECLARE_INTERFACE(qqsfpm::SorterContainer, SorterContainer_iid) +QT_END_NAMESPACE #endif // SORTERSSORTERCONTAINER_H