license login feature
This commit is contained in:
@@ -6,8 +6,31 @@ project(Minecraft_launcher VERSION 0.1 LANGUAGES CXX C)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# CorePrivate нужен ради QZipReader — им распаковываются нативные библиотеки LWJGL.
|
||||
# Про привязку к версии Qt из-за него предупреждать не нужно: это осознанный выбор.
|
||||
set(QT_NO_PRIVATE_MODULE_WARNING ON)
|
||||
find_package(Qt6 REQUIRED COMPONENTS Quick QuickControls2 Core CorePrivate Gui Network)
|
||||
|
||||
# ── Qt WebEngine: окно входа в аккаунт Microsoft ────────────────────────────
|
||||
#
|
||||
# Модуль необязательный, и это принципиально: он ставится отдельной галочкой в
|
||||
# установщике Qt и тянет за собой WebChannel с Positioning, которых в типовой
|
||||
# установке нет. Если сделать его обязательным, у любого, кто их не поставил,
|
||||
# проект перестаёт конфигурироваться целиком — вместе с офлайном и Ely.by.
|
||||
#
|
||||
# Без модуля лаунчер собирается и работает как раньше, только вход через
|
||||
# Microsoft сообщает, что эта сборка его не умеет.
|
||||
find_package(Qt6 QUIET COMPONENTS WebEngineQuick)
|
||||
if(Qt6WebEngineQuick_FOUND)
|
||||
message(STATUS "Qt WebEngine найден: вход через аккаунт Microsoft будет доступен")
|
||||
set(LAUNCHER_MSA_QML_FILES MicrosoftLoginDialog.qml)
|
||||
else()
|
||||
message(WARNING
|
||||
"Qt WebEngine не найден — лаунчер соберётся без входа через аккаунт Microsoft. "
|
||||
"Чтобы его включить, доустановите в MaintenanceTool для своей версии Qt сразу три "
|
||||
"компонента: Qt WebEngine, Qt WebChannel и Qt Positioning.")
|
||||
set(LAUNCHER_MSA_QML_FILES "")
|
||||
endif()
|
||||
|
||||
qt_standard_project_setup(REQUIRES 6.8)
|
||||
|
||||
qt_add_executable(appMinecraft_launcher
|
||||
@@ -35,6 +58,8 @@ qt_add_qml_module(appMinecraft_launcher
|
||||
javainstaller.cpp
|
||||
authservice.h
|
||||
authservice.cpp
|
||||
msaauthservice.h
|
||||
msaauthservice.cpp
|
||||
gamelauncher.h
|
||||
gamelauncher.cpp
|
||||
versionmanifestservice.h
|
||||
@@ -64,6 +89,7 @@ qt_add_qml_module(appMinecraft_launcher
|
||||
SeasonalBuildsDialog.qml
|
||||
LoaderRow.qml
|
||||
ProgressPanel.qml
|
||||
${LAUNCHER_MSA_QML_FILES}
|
||||
RESOURCES images/Folder/Folder_Active.svg images/Folder/Folder_Idle.svg images/Folder/Folder_Pressed.svg images/Options/Options_active.svg images/Options/Options_Idle.svg images/Options/Options_Pressed.svg images/Play_Button/Play_Active.svg images/Play_Button/Play_Idle.svg images/Play_Button/Play_pressed.svg images/Profile_Box/Asset_23.jpg images/Profile_Box/Asset_23.svg images/Profile_Box/Asset_24.jpg images/Profile_Box/Asset_24.svg images/Profile_Box/Kishka_Profile_Active.svg images/Profile_Box/Kishka_Profile_Idle.svg images/Profile_Box/Kishka_Profile_open.svg images/Scroll/Scroll_Lever.svg images/Scroll/Scroll_palka.svg images/Version_box/Kishka_Profile_Open.svg images/Version_box/Kishka_Ver_Active.svg images/Version_box/Kishka_Ver_idle.svg images/Trash.svg images/Pencil.svg images/GovuztTW8AAHqBf.jpeg images/photo_2025-12-16_15-04-17.jpg images/photo_2025-12-21_02-30-09.jpg
|
||||
)
|
||||
|
||||
@@ -82,6 +108,11 @@ target_link_libraries(appMinecraft_launcher
|
||||
PRIVATE Qt6::Quick Qt6::QuickControls2 Qt6::Core Qt6::CorePrivate Qt6::Gui Qt6::Network
|
||||
)
|
||||
|
||||
if(Qt6WebEngineQuick_FOUND)
|
||||
target_link_libraries(appMinecraft_launcher PRIVATE Qt6::WebEngineQuick)
|
||||
target_compile_definitions(appMinecraft_launcher PRIVATE LAUNCHER_HAS_WEBENGINE)
|
||||
endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# ── Эталонный zlib для установщиков Forge и NeoForge ────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user