mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-08-14 10:34:14 +02:00
c14d6a6dd6
a) using a system provided KF6 b) downloading and compiling KF6 c) using the vendored-in re-creation of the functionality The behaviour for both Qt5 and Qt6 is steered with the same two variables which were renamed to become version agnostic: a) BUILD_WITH_KF=ON BUILD_KF=OFF b) BUILD_WITH_KF=ON BUILD_KF=ON c) BUILD_WITH_KF=OFF The version is automatically derived from the chosen Qt major version.
85 lines
2.8 KiB
CMake
85 lines
2.8 KiB
CMake
# Copyright 2006 The QElectroTech Team
|
|
# This file is part of QElectroTech.
|
|
#
|
|
# QElectroTech is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# QElectroTech is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
message(" - fetch_kdeaddons")
|
|
|
|
# TODO remove path as soon as Qt5 gets retired
|
|
if(BUILD_WITH_KF)
|
|
Include(FetchContent)
|
|
|
|
option(BUILD_KF "Build KF5 libraries, use system ones otherwise" YES)
|
|
|
|
if(BUILD_KF)
|
|
|
|
if(KF_MAJOR_VERSION EQUAL 5)
|
|
if(NOT DEFINED KF_GIT_TAG)
|
|
#https://qelectrotech.org/forum/viewtopic.php?pid=13924#p13924
|
|
set(KF_GIT_TAG v5.77.0)
|
|
endif()
|
|
else()
|
|
if(NOT DEFINED KF_GIT_TAG)
|
|
set(KF_GIT_TAG v6.10.0)
|
|
endif()
|
|
endif()
|
|
|
|
# Fix stop the run autotests of kcoreaddons
|
|
# see
|
|
# https://invent.kde.org/frameworks/kcoreaddons/-/blob/master/CMakeLists.txt#L98
|
|
# issue:
|
|
# CMake Error at /usr/share/ECM/modules/ECMAddTests.cmake:89 (add_executable):
|
|
# Cannot find source file:
|
|
# see
|
|
# https://qelectrotech.org/forum/viewtopic.php?pid=13929#p13929
|
|
set(KDE_SKIP_TEST_SETTINGS "TRUE")
|
|
set(BUILD_TESTING "0")
|
|
|
|
# QElectroTech is a plain QtWidgets application with no QML anywhere in
|
|
# it; these disable optional features of the fetched KF modules that
|
|
# would otherwise pull in extra Qt6 components (e.g. Qt6Qml) we don't
|
|
# have and don't need.
|
|
set(BUILD_DESIGNERPLUGIN OFF)
|
|
set(KCOREADDONS_USE_QML OFF)
|
|
set(BUILD_QCH OFF)
|
|
set(BUILD_SHARED_LIBS OFF)
|
|
|
|
FetchContent_Declare(
|
|
ecm
|
|
GIT_REPOSITORY https://invent.kde.org/frameworks/extra-cmake-modules.git
|
|
GIT_TAG ${KF_GIT_TAG})
|
|
FetchContent_MakeAvailable(ecm)
|
|
|
|
FetchContent_Declare(
|
|
kcoreaddons
|
|
GIT_REPOSITORY https://invent.kde.org/frameworks/kcoreaddons.git
|
|
GIT_TAG ${KF_GIT_TAG})
|
|
FetchContent_MakeAvailable(kcoreaddons)
|
|
|
|
FetchContent_Declare(
|
|
kwidgetsaddons
|
|
GIT_REPOSITORY https://invent.kde.org/frameworks/kwidgetsaddons.git
|
|
GIT_TAG ${KF_GIT_TAG})
|
|
FetchContent_MakeAvailable(kwidgetsaddons)
|
|
else()
|
|
find_package(KF${KF_MAJOR_VERSION}CoreAddons REQUIRED)
|
|
find_package(KF${KF_MAJOR_VERSION}WidgetsAddons REQUIRED)
|
|
endif()
|
|
|
|
set(KF_PRIVATE_LIBRARIES
|
|
KF${KF_MAJOR_VERSION}::WidgetsAddons
|
|
KF${KF_MAJOR_VERSION}::CoreAddons
|
|
)
|
|
endif()
|