From d4bd9ad1d588158963610f3dacef86e8d3b2641c Mon Sep 17 00:00:00 2001 From: Johnny Jazeix Date: Sun, 14 Sep 2025 13:59:59 +0200 Subject: [PATCH] cmake, ignore private modules if they don't exist --- src/core/CMakeLists.txt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index f4eb66b6dd..dde4a7aec8 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -73,10 +73,18 @@ elseif(CMAKE_HOST_APPLE) set_source_files_properties(${gcompris_RES} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources") endif() -set(used_qt_modules ${QT_MAJOR}::Qml ${QT_MAJOR}::Quick ${QT_MAJOR}::Widgets ${QT_MAJOR}::Gui ${QT_MAJOR}::Multimedia ${QT_MAJOR}::Core ${QT_MAJOR}::Svg ${QT_MAJOR}::Sensors ${QT_MAJOR}::QuickControls2 ${QT_MAJOR}::QuickTemplates2 ${QT_MAJOR}::Charts ${QT_MAJOR}::QmlWorkerScript ${QT_MAJOR}::CorePrivate) +set(used_qt_modules ${QT_MAJOR}::Qml ${QT_MAJOR}::Quick ${QT_MAJOR}::Widgets ${QT_MAJOR}::Gui ${QT_MAJOR}::Multimedia ${QT_MAJOR}::Core ${QT_MAJOR}::Svg ${QT_MAJOR}::Sensors ${QT_MAJOR}::QuickControls2 ${QT_MAJOR}::QuickTemplates2 ${QT_MAJOR}::Charts ${QT_MAJOR}::QmlWorkerScript) + +if(TARGET ${QT_MAJOR}::CorePrivate) + set(used_qt_modules ${used_qt_modules} ${QT_MAJOR}::CorePrivate) +endif() if(TARGET ${QT_MAJOR}::QuickControls2Basic) - set(used_qt_modules ${used_qt_modules} ${QT_MAJOR}::QuickControls2Basic ${QT_MAJOR}::QuickControls2BasicPrivate) + set(used_qt_modules ${used_qt_modules} ${QT_MAJOR}::QuickControls2Basic) + if(TARGET ${QT_MAJOR}::QuickControls2BasicPrivate) + set(used_qt_modules ${used_qt_modules} ${QT_MAJOR}::QuickControls2BasicPrivate) + endif() + # This should not be needed! But for some reason, on windows it does not find # automatically the library so we need to install it manually if(WIN32) @@ -86,7 +94,10 @@ if(TARGET ${QT_MAJOR}::QuickControls2Basic) endif() if(TARGET ${QT_MAJOR}::WaylandClient) - set(used_qt_modules ${used_qt_modules} ${QT_MAJOR}::WaylandClient ${QT_MAJOR}::WaylandClientPrivate) + set(used_qt_modules ${used_qt_modules} ${QT_MAJOR}::WaylandClient) + if(TARGET ${QT_MAJOR}::WaylandClientPrivate) + set(used_qt_modules ${used_qt_modules} ${QT_MAJOR}::WaylandClientPrivate) + endif() endif() if(ANDROID) -- GitLab