CMake: Support Qt6 build
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Syping 2020-11-05 16:21:33 +01:00
parent fcbe264d63
commit 6af5f94d70
23 changed files with 53 additions and 16407 deletions

View file

@ -2,7 +2,7 @@ kind: pipeline
type: docker type: docker
environment: environment:
BUILD_TYPE: "REL" BUILD_TYPE: "DEV"
steps: steps:
- name: Windows Installer - name: Windows Installer

View file

@ -2,7 +2,7 @@ stages:
- build - build
variables: variables:
BUILD_TYPE: "REL" BUILD_TYPE: "DEV"
Windows Installer: Windows Installer:
stage: build stage: build

View file

@ -8,7 +8,7 @@ service:
env: env:
global: global:
- BUILD_TYPE=REL - BUILD_TYPE=DEV
matrix: matrix:
include: include:

View file

@ -11,13 +11,20 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt5 COMPONENTS Network Svg Widgets REQUIRED) option(QT6_BUILD "Build gta5view with Qt6" OFF)
find_package(Qt5 COMPONENTS LinguistTools QUIET) if(QT6_BUILD)
set(QT_VERSION_MAJOR 6)
else()
set(QT_VERSION_MAJOR 5)
endif()
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Network Svg Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS LinguistTools QUIET)
if(WIN32) if(WIN32)
find_package(Qt5 COMPONENTS WinExtras REQUIRED) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS WinExtras REQUIRED)
list(APPEND GTA5VIEW_LIBS list(APPEND GTA5VIEW_LIBS
Qt5::WinExtras Qt${QT_VERSION_MAJOR}::WinExtras
) )
list(APPEND GTA5VIEW_DEFINES list(APPEND GTA5VIEW_DEFINES
-DUNICODE -DUNICODE
@ -179,7 +186,7 @@ if(QCONF_BUILD)
else() else()
list(APPEND GTA5VIEW_RESOURCES list(APPEND GTA5VIEW_RESOURCES
res/tr_g5p.qrc res/tr_g5p.qrc
res/tr_qt5.qrc res/tr_qt${QT_VERSION_MAJOR}.qrc
) )
endif() endif()
@ -194,6 +201,7 @@ endif()
option(WITH_MOTD "Developer message system directed to users" OFF) option(WITH_MOTD "Developer message system directed to users" OFF)
if(WITH_MOTD) if(WITH_MOTD)
set(MOTD_WEBURL "" CACHE STRING "Messages WebURL")
list(APPEND GTA5VIEW_HEADERS list(APPEND GTA5VIEW_HEADERS
MessageThread.h MessageThread.h
) )
@ -212,6 +220,11 @@ endif()
option(WITH_TELEMETRY "Hardware survey and basic telemetry system" OFF) option(WITH_TELEMETRY "Hardware survey and basic telemetry system" OFF)
if(WITH_TELEMETRY) if(WITH_TELEMETRY)
set(TELEMETRY_AUTHID "" CACHE STRING "Telemetry AuthID")
set(TELEMETRY_AUTHPW "" CACHE STRING "Telemetry AuthPW")
set(TELEMETRY_PUSHURL "" CACHE STRING "Telemetry PushURL")
set(TELEMETRY_REGURL "" CACHE STRING "Telemetry RegURL")
set(TELEMETRY_WEBURL "" CACHE STRING "Telemetry WebURL")
list(APPEND GTA5VIEW_HEADERS list(APPEND GTA5VIEW_HEADERS
TelemetryClass.h TelemetryClass.h
tmext/TelemetryClassAuthenticator.h tmext/TelemetryClassAuthenticator.h
@ -332,11 +345,13 @@ endif()
if(Qt5Core_VERSION VERSION_GREATER_EQUAL "5.14.0") if(Qt5Core_VERSION VERSION_GREATER_EQUAL "5.14.0")
qt5_import_plugins(gta5view INCLUDE Qt5::QSvgPlugin) qt5_import_plugins(gta5view INCLUDE Qt5::QSvgPlugin)
elseif(Qt6Core_VERSION VERSION_GREATER_EQUAL "6.0")
qt6_import_plugins(gta5view INCLUDE Qt6::QSvgPlugin)
endif() endif()
target_compile_definitions(gta5view PRIVATE ${GTA5VIEW_DEFINES}) target_compile_definitions(gta5view PRIVATE ${GTA5VIEW_DEFINES})
target_include_directories(gta5view PRIVATE ${GTA5VIEW_INCLUDEDIR}) target_include_directories(gta5view PRIVATE ${GTA5VIEW_INCLUDEDIR})
target_link_libraries(gta5view PRIVATE Qt5::Network Qt5::Svg Qt5::Widgets ${GTA5VIEW_LIBS}) target_link_libraries(gta5view PRIVATE Qt${QT_VERSION_MAJOR}::Network Qt${QT_VERSION_MAJOR}::Svg Qt${QT_VERSION_MAJOR}::Widgets ${GTA5VIEW_LIBS})
install(TARGETS gta5view DESTINATION bin) install(TARGETS gta5view DESTINATION bin)
install(FILES res/de.syping.gta5view.desktop DESTINATION share/applications) install(FILES res/de.syping.gta5view.desktop DESTINATION share/applications)

View file

@ -44,7 +44,7 @@
#endif #endif
#ifndef GTA5SYNC_APPVER #ifndef GTA5SYNC_APPVER
#define GTA5SYNC_APPVER "1.8.0" #define GTA5SYNC_APPVER "1.9.0"
#endif #endif
#if __cplusplus #if __cplusplus

View file

@ -217,6 +217,10 @@ isEqual(QT_MAJOR_VERSION, 5): RESOURCES += res/tr_qt5.qrc
greaterThan(QT_MAJOR_VERSION, 4): GTA5SYNC_RCC = $$[QT_HOST_BINS]/rcc greaterThan(QT_MAJOR_VERSION, 4): GTA5SYNC_RCC = $$[QT_HOST_BINS]/rcc
# QT6 ONLY STUFF
isEqual(QT_MAJOR_VERSION, 6): RESOURCES += res/tr_qt6.qrc
# RESOURCE COMPILATION # RESOURCE COMPILATION
system($$GTA5SYNC_RCC -threshold 0 -compress 9 $$PWD/res/global.qrc -o $$OUT_PWD/qrc_global.cpp) { system($$GTA5SYNC_RCC -threshold 0 -compress 9 $$PWD/res/global.qrc -o $$OUT_PWD/qrc_global.cpp) {
@ -241,6 +245,7 @@ INSTALLS += target pixmaps appfiles
contains(DEFINES, GTA5SYNC_QCONF) { contains(DEFINES, GTA5SYNC_QCONF) {
isEqual(QT_MAJOR_VERSION, 4): RESOURCES -= res/tr_qt4.qrc isEqual(QT_MAJOR_VERSION, 4): RESOURCES -= res/tr_qt4.qrc
isEqual(QT_MAJOR_VERSION, 5): RESOURCES -= res/tr_qt5.qrc isEqual(QT_MAJOR_VERSION, 5): RESOURCES -= res/tr_qt5.qrc
isEqual(QT_MAJOR_VERSION, 6): RESOURCES -= res/tr_qt6.qrc
!contains(DEFINES, GTA5SYNC_QCONF_IN) { !contains(DEFINES, GTA5SYNC_QCONF_IN) {
RESOURCES -= res/tr_g5p.qrc RESOURCES -= res/tr_g5p.qrc
langfiles.path = $$GTA5SYNC_PREFIX/share/gta5view/translations langfiles.path = $$GTA5SYNC_PREFIX/share/gta5view/translations

View file

@ -4,8 +4,8 @@ IDI_ICON1 ICON DISCARDABLE "5sync.ico"
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gta5view.exe.manifest" CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gta5view.exe.manifest"
#include <windows.h> #include <windows.h>
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1, 8, 0, 0 FILEVERSION 1, 9, 0, 0
PRODUCTVERSION 1, 8, 0, 0 PRODUCTVERSION 1, 9, 0, 0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
FILEFLAGS 0 FILEFLAGS 0
FILEOS VOS_NT_WINDOWS32 FILEOS VOS_NT_WINDOWS32
@ -22,12 +22,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Syping" VALUE "CompanyName", "Syping"
VALUE "FileDescription", "gta5view" VALUE "FileDescription", "gta5view"
VALUE "FileVersion", "1.8.0" VALUE "FileVersion", "1.9.0"
VALUE "InternalName", "gta5view" VALUE "InternalName", "gta5view"
VALUE "LegalCopyright", "Copyright © 2016-2020 Syping" VALUE "LegalCopyright", "Copyright © 2016-2020 Syping"
VALUE "OriginalFilename", "gta5view.exe" VALUE "OriginalFilename", "gta5view.exe"
VALUE "ProductName", "gta5view" VALUE "ProductName", "gta5view"
VALUE "ProductVersion", "1.8.0" VALUE "ProductVersion", "1.9.0"
END END
END END
END END

BIN
res/qt6/qtbase_de.qm Normal file

Binary file not shown.

BIN
res/qt6/qtbase_fr.qm Normal file

Binary file not shown.

BIN
res/qt6/qtbase_ko.qm Normal file

Binary file not shown.

BIN
res/qt6/qtbase_ru.qm Normal file

Binary file not shown.

BIN
res/qt6/qtbase_uk.qm Normal file

Binary file not shown.

BIN
res/qt6/qtbase_zh_TW.qm Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -1,11 +1,11 @@
<RCC> <RCC>
<qresource prefix="/tr"> <qresource prefix="/tr">
<file>qtbase_en_GB.qm</file> <file>qtbase_en_GB.qm</file>
<file>qtbase_de.qm</file> <file>qt5/qtbase_de.qm</file>
<file>qtbase_fr.qm</file> <file>qt5/qtbase_fr.qm</file>
<file>qtbase_ko.qm</file> <file>qt5/qtbase_ko.qm</file>
<file>qtbase_ru.qm</file> <file>qt5/qtbase_ru.qm</file>
<file>qtbase_uk.qm</file> <file>qt5/qtbase_uk.qm</file>
<file>qtbase_zh_TW.qm</file> <file>qt5/qtbase_zh_TW.qm</file>
</qresource> </qresource>
</RCC> </RCC>

11
res/tr_qt6.qrc Normal file
View file

@ -0,0 +1,11 @@
<RCC>
<qresource prefix="/tr">
<file>qtbase_en_GB.qm</file>
<file>qt6/qtbase_de.qm</file>
<file>qt6/qtbase_fr.qm</file>
<file>qt6/qtbase_ko.qm</file>
<file>qt6/qtbase_ru.qm</file>
<file>qt6/qtbase_uk.qm</file>
<file>qt6/qtbase_zh_TW.qm</file>
</qresource>
</RCC>