57 lines
2 KiB
CMake
57 lines
2 KiB
CMake
# This file is part of Desktop App Toolkit,
|
|
# a set of libraries for developing nice desktop applications.
|
|
#
|
|
# For license and copyright information please follow this link:
|
|
# https://github.com/desktop-app/legal/blob/master/LEGAL
|
|
|
|
if (NOT DESKTOP_APP_USE_PACKAGED)
|
|
if (DEFINED ENV{QT})
|
|
set(qt_version $ENV{QT} CACHE STRING "Qt version" FORCE)
|
|
endif()
|
|
|
|
if (NOT DEFINED qt_version)
|
|
message(FATAL_ERROR "Qt version is unknown, set `QT' environment variable")
|
|
endif()
|
|
|
|
if (WIN32)
|
|
set(qt_loc ${libs_loc}/Qt-${qt_version})
|
|
elseif (APPLE)
|
|
set(qt_loc ${libs_loc}/local/Qt-${qt_version})
|
|
else()
|
|
set(qt_loc /usr/local/desktop-app/Qt-${qt_version})
|
|
endif()
|
|
|
|
set(CMAKE_PREFIX_PATH ${qt_loc})
|
|
endif()
|
|
|
|
if (NOT DEFINED QT_VERSION_MAJOR)
|
|
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
|
|
endif()
|
|
|
|
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets Network Svg REQUIRED)
|
|
find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS Qml Quick QuickWidgets QUIET)
|
|
|
|
set(qt_version_6_or_greater 0)
|
|
if (QT_VERSION_MAJOR GREATER_EQUAL 6)
|
|
set(qt_version_6_or_greater 1)
|
|
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core5Compat OpenGL OpenGLWidgets REQUIRED)
|
|
endif()
|
|
|
|
# QtWaylandScanner cmake integration from Qt 6 is used
|
|
cmake_dependent_option(DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION "Disable all code for Wayland integration." OFF "LINUX; qt_version_6_or_greater" ON)
|
|
|
|
if (LINUX)
|
|
if (NOT DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
|
|
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS WaylandClient REQUIRED)
|
|
find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS WaylandCompositor QUIET)
|
|
endif()
|
|
|
|
if (NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
|
|
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS DBus REQUIRED)
|
|
elseif (NOT DESKTOP_APP_USE_PACKAGED)
|
|
find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS DBus QUIET)
|
|
endif()
|
|
endif()
|
|
|
|
set_property(GLOBAL PROPERTY AUTOGEN_SOURCE_GROUP "(gen)")
|
|
set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER "(gen)")
|