From 284a51dc41d7a86f1ea92890b7c03f0e7516ce09 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 13:45:14 +0100 Subject: [PATCH 01/22] enable precompiled headers --- CMakeLists.txt | 8 +- cmake/QskBuildFunctions.cmake | 16 +++- cmake/QskPreCompiledHeader.cmake | 126 +++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+), 3 deletions(-) create mode 100644 cmake/QskPreCompiledHeader.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index c0f0fac13..661c60335 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,8 @@ macro(qsk_setup_options) option(BUILD_EXAMPLES "Build qskinny examples" ON) option(BUILD_PLAYGROUND "Build qskinny playground" ON) + option(BUILD_WITH_PRECOMPILED_HEADERS "Build qskinny with precompiled headers" ON) + # we actually want to use cmake_dependent_option - minimum cmake version ?? option( BUILD_SVG2QVG_STANDALONE "Build svg2qvg without qskinny library dependency" ON ) @@ -81,7 +83,7 @@ endmacro() ############################################################################ project(QSkinny - LANGUAGES C CXX + LANGUAGES C CXX HOMEPAGE_URL "https://github.com/uwerat/qskinny" VERSION 0.8.0) @@ -103,6 +105,10 @@ qsk_setup_Qt() qsk_setup_build() qsk_setup_install() +if(BUILD_WITH_PRECOMPILED_HEADERS) +include("QskPreCompiledHeader") +endif() + add_subdirectory(src) add_subdirectory(designsystems) diff --git a/cmake/QskBuildFunctions.cmake b/cmake/QskBuildFunctions.cmake index ebc20a230..857f4096f 100644 --- a/cmake/QskBuildFunctions.cmake +++ b/cmake/QskBuildFunctions.cmake @@ -9,7 +9,7 @@ function(qsk_add_executable target) qt6_add_executable(${ARGV}) # we manually export our APIs to QML - might change in the future - set_target_properties(${target} PROPERTIES + set_target_properties(${target} PROPERTIES QT_QML_MODULE_NO_IMPORT_SCAN 1) else() add_executable(${ARGV}) @@ -18,6 +18,9 @@ function(qsk_add_executable target) set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) + if(BUILD_WITH_PRECOMPILED_HEADERS) + target_precompile_headers(${target} REUSE_FROM PCH) + endif() endfunction() function(qsk_add_library target) @@ -31,6 +34,9 @@ function(qsk_add_library target) set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib ) + if(BUILD_WITH_PRECOMPILED_HEADERS) + target_precompile_headers(${target} REUSE_FROM PCH) + endif() endfunction() function(qsk_add_plugin target TYPE CLASS_NAME) @@ -79,6 +85,9 @@ function(qsk_add_plugin target TYPE CLASS_NAME) set_target_properties(${target} PROPERTIES INSTALL_RPATH "\${ORIGIN}/../../lib" ) + if(BUILD_WITH_PRECOMPILED_HEADERS) + target_precompile_headers(${target} REUSE_FROM PCH) + endif() endfunction() function(qsk_add_example target) @@ -105,9 +114,12 @@ function(qsk_add_example target) target_link_libraries(${target} PRIVATE qskqmlexport) endif() - # for examples with subdirectories + # for examples with subdirectories target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_LIST_DIR}) + if(BUILD_WITH_PRECOMPILED_HEADERS) + target_precompile_headers(${target} REUSE_FROM PCH) + endif() endfunction() function(qsk_add_shaders target) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake new file mode 100644 index 000000000..da1641567 --- /dev/null +++ b/cmake/QskPreCompiledHeader.cmake @@ -0,0 +1,126 @@ +message(STATUS "Using precompiled headers") + +# C Standard Library Headers +set(C_STANDARD_HEADERS + + + + + + + + + + + + + + + + + + + + +) + +# C++ Standard Library Headers +set(CPLUSPLUS_STANDARD_HEADERS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +) + +# C++20 Specific Headers +set(CPLUSPLUS20_HEADERS + + + + + + + + + +) + +set(ALL_STANDARD_HEADERS + ${C_STANDARD_HEADERS} + ${CPLUSPLUS_STANDARD_HEADERS} + # ${CPLUSPLUS20_HEADERS} +) + +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/pch.cpp "enum {};") +add_library(PCH OBJECT ${CMAKE_CURRENT_BINARY_DIR}/pch.cpp) +target_precompile_headers(PCH PRIVATE ${ALL_STANDARD_HEADERS}) +set_target_properties(PCH PROPERTIES AUTOMOC OFF AUTOUIC OFF AUTORCC OFF) +if(MSVC) + # TODO check why we need this + # Set the desired compiler options + target_compile_options(PCH PRIVATE + /Zc:referenceBinding + /Zc:__cplusplus + /Zc:hiddenFriend + /Zc:externC + /Zc:externConstexpr + /permissive- + /source-charset:utf-8 + /execution-charset:utf-8 + ) +endif() From 7fb8b773600f205432cd2710ceca168e65e8cd1b Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:06:59 +0100 Subject: [PATCH 02/22] add qt headers to pch --- cmake/QskPreCompiledHeader.cmake | 99 +++++++++++++++++++++++++++++++- 1 file changed, 97 insertions(+), 2 deletions(-) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index da1641567..eb37fd0f2 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -100,10 +100,78 @@ set(CPLUSPLUS20_HEADERS ) +set(QSK_QT_HEADERS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +) + +if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6) + list(REMOVE_ITEM QSK_QT_HEADERS ) +endif() + set(ALL_STANDARD_HEADERS ${C_STANDARD_HEADERS} ${CPLUSPLUS_STANDARD_HEADERS} # ${CPLUSPLUS20_HEADERS} + ${QSK_QT_HEADERS} ) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/pch.cpp "enum {};") @@ -120,7 +188,34 @@ if(MSVC) /Zc:externC /Zc:externConstexpr /permissive- - /source-charset:utf-8 - /execution-charset:utf-8 + #/source-charset:utf-8 + #/execution-charset:utf-8 + /utf-8 ) endif() + +target_link_libraries(PCH PRIVATE + Qt::Core + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::OpenGL + Qt::OpenGLPrivate + Qt::Quick + Qt::QuickPrivate + Qt::QuickShapesPrivate + Qt::QuickWidgets + Qt::Svg) + +if(TARGET Qt::WebEngine) + target_link_libraries(PCH PRIVATE Qt::WebEngine) +endif() +if(TARGET Qt::WebEngineCore) + target_link_libraries(PCH PRIVATE Qt::WebEngineCore) +endif() +if(TARGET Qt::WebEngineQuick) + target_link_libraries(PCH PRIVATE Qt::WebEngineQuick) +endif() +if(TARGET Qt::WebEngineQuickPrivate) + target_link_libraries(PCH PRIVATE Qt::WebEngineQuickPrivate) +endif() \ No newline at end of file From a76a621346a284a8f8750dd50d3c95987658c931 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:11:43 +0100 Subject: [PATCH 03/22] remove from pch --- cmake/QskPreCompiledHeader.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index eb37fd0f2..8832bdfb2 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -163,6 +163,10 @@ set(QSK_QT_HEADERS ) +if(TRUE) # build break on gcc + list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) +endif() + if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() From bf060fd47a11903b352da8e0d0cd2a2ba484c82f Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:13:04 +0100 Subject: [PATCH 04/22] conditionally link to Qt::OpenGL --- cmake/QskPreCompiledHeader.cmake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index 8832bdfb2..a6986329d 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -203,14 +203,18 @@ target_link_libraries(PCH PRIVATE Qt::CorePrivate Qt::Gui Qt::GuiPrivate - Qt::OpenGL - Qt::OpenGLPrivate Qt::Quick Qt::QuickPrivate Qt::QuickShapesPrivate Qt::QuickWidgets Qt::Svg) +if(TARGET Qt::OpenGL) + target_link_libraries(PCH PRIVATE Qt::OpenGL) +endif() +if(TARGET Qt::OpenGLPrivate) + target_link_libraries(PCH PRIVATE Qt::OpenGLPrivate) +endif() if(TARGET Qt::WebEngine) target_link_libraries(PCH PRIVATE Qt::WebEngine) endif() From 72c0e741a8d2c491086fedea661b1645c4d39030 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:16:05 +0100 Subject: [PATCH 05/22] contitionally link to optional qt libs --- cmake/QskPreCompiledHeader.cmake | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index a6986329d..043d75eac 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -204,10 +204,7 @@ target_link_libraries(PCH PRIVATE Qt::Gui Qt::GuiPrivate Qt::Quick - Qt::QuickPrivate - Qt::QuickShapesPrivate - Qt::QuickWidgets - Qt::Svg) + Qt::QuickPrivate) if(TARGET Qt::OpenGL) target_link_libraries(PCH PRIVATE Qt::OpenGL) @@ -215,6 +212,15 @@ endif() if(TARGET Qt::OpenGLPrivate) target_link_libraries(PCH PRIVATE Qt::OpenGLPrivate) endif() +if(TARGET Qt::Svg) + target_link_libraries(PCH PRIVATE Qt::Svg) +endif() +if(TARGET Qt::QuickShapesPrivate) + target_link_libraries(PCH PRIVATE Qt::QuickShapesPrivate) +endif() +if(TARGET Qt::QuickWidgets) + target_link_libraries(PCH PRIVATE Qt::QuickWidgets) +endif() if(TARGET Qt::WebEngine) target_link_libraries(PCH PRIVATE Qt::WebEngine) endif() From afecefed4a8108568c7e0bde8d7f2c40b4ead872 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:24:27 +0100 Subject: [PATCH 06/22] remove widget includes from pch --- cmake/QskPreCompiledHeader.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index 043d75eac..d3521a8ba 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -167,6 +167,16 @@ if(TRUE) # build break on gcc list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) endif() +if(NOT TARGET Qt::Widgets) + list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) + list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) + list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) +endif() + +if(NOT TARGET Qt::QuickWidgets) + list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) +endif() + if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() @@ -212,6 +222,9 @@ endif() if(TARGET Qt::OpenGLPrivate) target_link_libraries(PCH PRIVATE Qt::OpenGLPrivate) endif() +if(TARGET Qt::Widgets) + target_link_libraries(PCH PRIVATE Qt::Widgets) +endif() if(TARGET Qt::Svg) target_link_libraries(PCH PRIVATE Qt::Svg) endif() From 90d19a7043c4fecc696194a0eb19a690a23d0191 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:40:56 +0100 Subject: [PATCH 07/22] disable weird options --- cmake/QskPreCompiledHeader.cmake | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index d3521a8ba..bf00d6af2 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -195,17 +195,17 @@ set_target_properties(PCH PROPERTIES AUTOMOC OFF AUTOUIC OFF AUTORCC OFF) if(MSVC) # TODO check why we need this # Set the desired compiler options - target_compile_options(PCH PRIVATE - /Zc:referenceBinding - /Zc:__cplusplus - /Zc:hiddenFriend - /Zc:externC - /Zc:externConstexpr - /permissive- - #/source-charset:utf-8 - #/execution-charset:utf-8 - /utf-8 - ) + # target_compile_options(PCH PRIVATE + # /Zc:referenceBinding + # /Zc:__cplusplus + # /Zc:hiddenFriend + # /Zc:externC + # /Zc:externConstexpr + # /permissive- + # #/source-charset:utf-8 + # #/execution-charset:utf-8 + # /utf-8 + # ) endif() target_link_libraries(PCH PRIVATE From 1737f3d0ec8c89a2caae578f9355167f1b3e21ea Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:46:08 +0100 Subject: [PATCH 08/22] fix remove QApplication --- cmake/QskPreCompiledHeader.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index bf00d6af2..8da903677 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -168,13 +168,13 @@ if(TRUE) # build break on gcc endif() if(NOT TARGET Qt::Widgets) - list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) - list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) - list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) endif() if(NOT TARGET Qt::QuickWidgets) - list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) endif() if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6) From 2f94a5711612b182738d086afb9aaa4fd42ec5f0 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:54:18 +0100 Subject: [PATCH 09/22] force exclude QApplication --- cmake/QskPreCompiledHeader.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index 8da903677..ea84d2d66 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -167,7 +167,7 @@ if(TRUE) # build break on gcc list(REMOVE_ITEM CPLUSPLUS_STANDARD_HEADERS ) endif() -if(NOT TARGET Qt::Widgets) +if(TRUE) # NOT TARGET Qt::Widgets list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) From d0e68f833340c1c5a8ece511f665cb036bc7939e Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 14:59:34 +0100 Subject: [PATCH 10/22] fix ambiguous symbol --- playground/grids/GridGraphics.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/playground/grids/GridGraphics.cpp b/playground/grids/GridGraphics.cpp index 1d73cbd24..355455ad8 100644 --- a/playground/grids/GridGraphics.cpp +++ b/playground/grids/GridGraphics.cpp @@ -10,7 +10,7 @@ #include #include -namespace +namespace GridGraphicsImpl { class Rectangle : public QGraphicsWidget { @@ -68,7 +68,7 @@ GridGraphics::GridGraphics( QWidget* parent ) setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); - auto grid = new Grid(); + auto grid = new GridGraphicsImpl::Grid(); m_layout = new QGraphicsGridLayout( grid ); m_layout->setSpacing( 5 ); @@ -86,7 +86,7 @@ GridGraphics::~GridGraphics() void GridGraphics::insert( const QByteArray& colorName, int row, int column, int rowSpan, int columnSpan ) { - m_layout->addItem( new Rectangle( colorName ), + m_layout->addItem( new GridGraphicsImpl::Rectangle( colorName ), row, column, rowSpan, columnSpan ); } From 52416dba80ce30e3a8e817f39df1ba146c90d71c Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 15:03:35 +0100 Subject: [PATCH 11/22] remove from pch --- cmake/QskPreCompiledHeader.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index ea84d2d66..058aabf52 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -170,6 +170,7 @@ endif() if(TRUE) # NOT TARGET Qt::Widgets list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() From d7dbc99e5162a7cedda6a1cfca5082d828c923a1 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 15:12:43 +0100 Subject: [PATCH 12/22] remove more widget includes --- cmake/QskPreCompiledHeader.cmake | 1 + playground/grids/GridWidgets.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index 058aabf52..b25f44edf 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -171,6 +171,7 @@ if(TRUE) # NOT TARGET Qt::Widgets list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() diff --git a/playground/grids/GridWidgets.cpp b/playground/grids/GridWidgets.cpp index bf1b9b7f2..d4bfc83e4 100644 --- a/playground/grids/GridWidgets.cpp +++ b/playground/grids/GridWidgets.cpp @@ -7,7 +7,7 @@ #include #include -namespace +namespace GridWidgetsImpl { class Rectangle : public QWidget { @@ -74,7 +74,7 @@ GridWidgets::~GridWidgets() void GridWidgets::insert( const QByteArray& colorName, int row, int column, int rowSpan, int columnSpan ) { - auto rectangle = new Rectangle( colorName ); + auto rectangle = new GridWidgetsImpl::Rectangle( colorName ); m_layout->addWidget( rectangle, row, column, rowSpan, columnSpan ); rectangle->show(); } @@ -115,10 +115,10 @@ void GridWidgets::setStretchFactor( void GridWidgets::setSizeHintAt( int index, Qt::Orientation orientation, Qt::SizeHint which, int hint ) { - Rectangle* rectangle = nullptr; + GridWidgetsImpl::Rectangle* rectangle = nullptr; if ( auto layoutItem = m_layout->itemAt( index ) ) - rectangle = static_cast< Rectangle* >( layoutItem->widget() ); + rectangle = static_cast< GridWidgetsImpl::Rectangle* >( layoutItem->widget() ); if ( rectangle == nullptr ) return; From 53fb9039ada2e855f3006e1a2e0961761b5fb161 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 15:30:11 +0100 Subject: [PATCH 13/22] fix Arc ambiguoty with wingdi.h --- playground/shadows/ArcPage.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/playground/shadows/ArcPage.cpp b/playground/shadows/ArcPage.cpp index b4d020e1b..9e750969a 100644 --- a/playground/shadows/ArcPage.cpp +++ b/playground/shadows/ArcPage.cpp @@ -9,7 +9,7 @@ #include -namespace +namespace ArcPageImpl { class ControlPanel : public QskGridBox { @@ -100,10 +100,10 @@ namespace ArcPage::ArcPage( QQuickItem* parent ) : QskLinearBox( Qt::Vertical, parent ) { - auto arc = new Arc(); + auto arc = new ArcPageImpl::Arc(); arc->setMargins( 40 ); // some extra space for testing the offsets - auto panel = new ControlPanel( arc ); + auto panel = new ArcPageImpl::ControlPanel( arc ); panel->setSizePolicy( Qt::Vertical, QskSizePolicy::Fixed ); addItem( panel ); From 8ec6af6a0e2f43cb01279c1743a27f98abda9d2a Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 15:31:02 +0100 Subject: [PATCH 14/22] remove QGraphicsView from pch --- cmake/QskPreCompiledHeader.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index b25f44edf..d3c1e1cef 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -172,6 +172,7 @@ if(TRUE) # NOT TARGET Qt::Widgets list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() From 6c20631beac63e0d92a50cff537203803cbe0122 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 15:38:14 +0100 Subject: [PATCH 15/22] remove QGridLayout from pch --- cmake/QskPreCompiledHeader.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index d3c1e1cef..2eab156ff 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -173,6 +173,7 @@ if(TRUE) # NOT TARGET Qt::Widgets list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() From d3d6419db55ffecb930340c382e58d659a45302c Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 15:45:55 +0100 Subject: [PATCH 16/22] remove more widgets from pch --- cmake/QskPreCompiledHeader.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index 2eab156ff..977cd507e 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -174,6 +174,8 @@ if(TRUE) # NOT TARGET Qt::Widgets list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() From c922fb9196c902edc7bacd95ad7f4d4fde868ab8 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 15:48:27 +0100 Subject: [PATCH 17/22] remove QQuickWidget from pch --- cmake/QskPreCompiledHeader.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index 977cd507e..ef6b6b0f1 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -177,6 +177,7 @@ if(TRUE) # NOT TARGET Qt::Widgets list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) list(REMOVE_ITEM QSK_QT_HEADERS ) + list(REMOVE_ITEM QSK_QT_HEADERS ) endif() if(NOT TARGET Qt::QuickWidgets) From e0c38f37d81803704e4bcc8fda49fce649d2030f Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 16:56:50 +0100 Subject: [PATCH 18/22] remove QSvgRenderer --- cmake/QskPreCompiledHeader.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index ef6b6b0f1..ead072174 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -184,6 +184,10 @@ if(NOT TARGET Qt::QuickWidgets) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() +if(NOT TARGET Qt::Svg) + list(REMOVE_ITEM QSK_QT_HEADERS ) +endif() + if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() From ffde17677a5e62f07d2c7f22d7b31a5d7cd7077b Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 17:01:35 +0100 Subject: [PATCH 19/22] try again --- cmake/QskPreCompiledHeader.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index ead072174..5328f2382 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -184,7 +184,7 @@ if(NOT TARGET Qt::QuickWidgets) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() -if(NOT TARGET Qt::Svg) +if(TRUE) # NOT TARGET Qt::Svg list(REMOVE_ITEM QSK_QT_HEADERS ) endif() From 2a94d8c269149b3b97c799e63e758428df893128 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 17:12:56 +0100 Subject: [PATCH 20/22] remove QQmlApplicationEngine from pch --- cmake/QskPreCompiledHeader.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index 5328f2382..028c98d66 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -188,6 +188,10 @@ if(TRUE) # NOT TARGET Qt::Svg list(REMOVE_ITEM QSK_QT_HEADERS ) endif() +if(TRUE) # NOT TARGET Qt::Qml + list(REMOVE_ITEM QSK_QT_HEADERS ) +endif() + if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6) list(REMOVE_ITEM QSK_QT_HEADERS ) endif() From 6dc79093e8bdcd5dd172925783812f459ec7b1f2 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 17:29:58 +0100 Subject: [PATCH 21/22] add QQuick to pch --- cmake/QskPreCompiledHeader.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index 028c98d66..cb0b03e79 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -243,6 +243,12 @@ endif() if(TARGET Qt::Svg) target_link_libraries(PCH PRIVATE Qt::Svg) endif() +if(TARGET Qt::Quick) + target_link_libraries(PCH PRIVATE Qt::Quick) +endif() +if(TARGET Qt::QuickPrivate) + target_link_libraries(PCH PRIVATE Qt::QuickPrivate) +endif() if(TARGET Qt::QuickShapesPrivate) target_link_libraries(PCH PRIVATE Qt::QuickShapesPrivate) endif() From fa60c81cf5e5cea9138e91dba202bf26359fca6a Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Sun, 24 Nov 2024 18:11:07 +0100 Subject: [PATCH 22/22] remove QQuickFramebufferObject from pch --- cmake/QskPreCompiledHeader.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/QskPreCompiledHeader.cmake b/cmake/QskPreCompiledHeader.cmake index cb0b03e79..a7173327c 100644 --- a/cmake/QskPreCompiledHeader.cmake +++ b/cmake/QskPreCompiledHeader.cmake @@ -192,6 +192,10 @@ if(TRUE) # NOT TARGET Qt::Qml list(REMOVE_ITEM QSK_QT_HEADERS ) endif() +if(TRUE) # NOT TARGET Qt::Quick + list(REMOVE_ITEM QSK_QT_HEADERS ) +endif() + if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6) list(REMOVE_ITEM QSK_QT_HEADERS ) endif()