diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index fd17f4a3c1..e152cde949 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,9 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + # Generated from qtdeclarative.pro. -cmake_minimum_required(VERSION 3.15.0) +cmake_minimum_required(VERSION 3.16) include(.cmake.conf) project(QtDeclarative # special case @@ -10,17 +13,43 @@ project(QtDeclarative # special case LANGUAGES CXX C ) -# special case begin -# Make sure we only use latest private CMake API, aka no compatibility wrappers. -set(QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS TRUE) -# special case end - find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) # special case -find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Gui Network Widgets OpenGL OpenGLWidgets Sql Concurrent Test) # special case +find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Gui Network Widgets OpenGL OpenGLWidgets Sql Concurrent Test LanguageServerPrivate LinguistTools Svg) +qt_internal_project_setup() + +# Set up QT_HOST_PATH as an extra root path to look for the ShaderToolsTools package +# when cross-compiling. +if(NOT "${QT_HOST_PATH}" STREQUAL "") + set(_qt_backup_qtdeclarative_CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}) + set(_qt_backup_qtdeclarative_CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH}) + list(PREPEND CMAKE_PREFIX_PATH "${QT_HOST_PATH_CMAKE_DIR}") + list(PREPEND CMAKE_FIND_ROOT_PATH "${QT_HOST_PATH}") +endif() + +# This can't use the find_package(Qt6 COMPONENTS) signature, because Qt6Config uses NO_DEFAULT and +# won't look at the prepend extra find root paths. +find_package(Qt6ShaderToolsTools ${PROJECT_VERSION} QUIET CONFIG + PATHS + ${_qt_additional_packages_prefix_path} + ${_qt_additional_packages_prefix_path_env} +) + +if(NOT "${QT_HOST_PATH}" STREQUAL "") + set(CMAKE_PREFIX_PATH ${_qt_backup_qtdeclarative_CMAKE_PREFIX_PATH}) + set(CMAKE_FIND_ROOT_PATH ${_qt_backup_qtdeclarative_CMAKE_FIND_ROOT_PATH}) +endif() + +# Optionally look for the target ShaderTools package to avoid warnings +# when configuring the project to build examples in-tree in a prefix Qt build. +# See QTBUG-96358 for details. +find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS ShaderTools) # special case begin # export QT6_ADD_QML_MODULE to this project include(src/qml/Qt6QmlMacros.cmake) +if(ANDROID) + include("${CMAKE_CURRENT_LIST_DIR}/src/qml/Qt6AndroidQmlMacros.cmake") +endif() # special case end if(NOT QT_FEATURE_commandlineparser) |