From c0bbbc2f7072059dfe105947a07b193679232d7d Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 18 Jun 2020 14:23:06 +0200 Subject: [PATCH] Wizards: Update CMakeLists.txt files to handle Qt 6 and Qt 5 Update wizards to produce CMakeLists.txt files that can work with both Qt 5 and Qt 6. Bump minimum CMake version to 3.14 since that is the first version that accepts Qt with major version 6 in AUTOMOC/AUTOUIC. Task-number: QTCREATORBUG-24206 Change-Id: I2ff462e67f01d84939c02be579579f358bc0b20e Reviewed-by: Cristian Adam Reviewed-by: hjk --- .../wizards/projects/consoleapp/CMakeLists.txt | 7 ++++--- .../wizards/projects/cpplibrary/CMakeLists.txt | 10 ++++++---- .../wizards/projects/qtquickapplication/CMakeLists.txt | 10 ++++++---- .../projects/qtwidgetsapplication/CMakeLists.txt | 8 +++++--- 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt index d7eda0b02d0..12653a1671e 100644 --- a/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.14) project(%{ProjectName} LANGUAGES CXX) @@ -12,7 +12,8 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) @if %{HasTranslation} -find_package(Qt5 COMPONENTS Core LinguistTools REQUIRED) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Core LinguistTools REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core LinguistTools REQUIRED) set(TS_FILES %{TsFileName}) @else @@ -25,7 +26,7 @@ add_executable(%{ProjectName} ${TS_FILES} @endif ) -target_link_libraries(%{ProjectName} Qt5::Core) +target_link_libraries(%{ProjectName} Qt${QT_VERSION_MAJOR}::Core) @if %{HasTranslation} qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) diff --git a/share/qtcreator/templates/wizards/projects/cpplibrary/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/cpplibrary/CMakeLists.txt index b69799a442a..612f4297776 100644 --- a/share/qtcreator/templates/wizards/projects/cpplibrary/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/cpplibrary/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.14) project(%{ProjectName} LANGUAGES CXX) @@ -13,11 +13,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) @if '%{QtModule}' != 'none' @if %{HasTranslation} -find_package(Qt5 COMPONENTS %{QtModuleUpperCase} LinguistTools REQUIRED) +find_package(QT NAMES Qt6 Qt5 COMPONENTS %{QtModuleUpperCase} LinguistTools REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS %{QtModuleUpperCase} LinguistTools REQUIRED) set(TS_FILES %{TsFileName}) @else -find_package(Qt5 COMPONENTS %{QtModuleUpperCase} REQUIRED) +find_package(QT NAMES Qt6 Qt5 COMPONENTS %{QtModuleUpperCase} REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS %{QtModuleUpperCase} REQUIRED) @endif @endif @@ -36,7 +38,7 @@ add_library(%{ProjectName} %{JS: %{IsStatic} ? 'STATIC' : 'SHARED'} ) @if '%{QtModule}' != 'none' -target_link_libraries(%{ProjectName} PRIVATE Qt5::%{QtModuleUpperCase}) +target_link_libraries(%{ProjectName} PRIVATE Qt${QT_VERSION_MAJOR}::%{QtModuleUpperCase}) @endif @if '%{IsShared}' diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt index beeae355834..3b479a595c4 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.14) project(%{ProjectName} LANGUAGES CXX) @@ -25,11 +25,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) #endif() @if %{HasTranslation} -find_package(Qt5 COMPONENTS Core Quick LinguistTools REQUIRED) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick LinguistTools REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick LinguistTools REQUIRED) set(TS_FILES %{TsFileName}) @else -find_package(Qt5 COMPONENTS Core Quick REQUIRED) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick REQUIRED) @endif if(ANDROID) @@ -53,7 +55,7 @@ endif() target_compile_definitions(%{ProjectName} PRIVATE $<$,$>:QT_QML_DEBUG>) target_link_libraries(%{ProjectName} - PRIVATE Qt5::Core Qt5::Quick) + PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick) @if %{HasTranslation} qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) diff --git a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt index 59f7cf0d65f..21fec5e47b8 100644 --- a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt @@ -25,11 +25,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) #endif() @if %{HasTranslation} -find_package(Qt5 COMPONENTS Widgets LinguistTools REQUIRED) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets LinguistTools REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets LinguistTools REQUIRED) set(TS_FILES %{TsFileName}) @else -find_package(Qt5 COMPONENTS Widgets REQUIRED) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED) @endif if(ANDROID) @@ -58,7 +60,7 @@ else() ) endif() -target_link_libraries(%{ProjectName} PRIVATE Qt5::Widgets) +target_link_libraries(%{ProjectName} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) @if %{HasTranslation} qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})