d394235ee0
Previously, the Shaders, Texture packs and Resource packs tabs had as parent the ModFolderPage, making it so that making changes only to the Mods page would require checking the id of the page for the correct one. This was hackish and error-prone. Now, those pages all inherit from a single class, ExternalResourcesPage, that handles the basic behaviour of all of them, while allowing for individual modification in code. This is still not a clear separation, since internally, all those resources are derived from Mods, so for now there's still some awkward common code :/
1131 lines
32 KiB
CMake
1131 lines
32 KiB
CMake
project(application)
|
|
|
|
################################ FILES ################################
|
|
|
|
######## Sources and headers ########
|
|
|
|
include (UnitTest)
|
|
|
|
set(CORE_SOURCES
|
|
# LOGIC - Base classes and infrastructure
|
|
BaseInstaller.h
|
|
BaseInstaller.cpp
|
|
BaseVersionList.h
|
|
BaseVersionList.cpp
|
|
InstanceList.h
|
|
InstanceList.cpp
|
|
InstanceTask.h
|
|
InstanceTask.cpp
|
|
LoggedProcess.h
|
|
LoggedProcess.cpp
|
|
MessageLevel.cpp
|
|
MessageLevel.h
|
|
BaseVersion.h
|
|
BaseInstance.h
|
|
BaseInstance.cpp
|
|
NullInstance.h
|
|
MMCZip.h
|
|
MMCZip.cpp
|
|
MMCStrings.h
|
|
MMCStrings.cpp
|
|
|
|
# Basic instance manipulation tasks (derived from InstanceTask)
|
|
InstanceCreationTask.h
|
|
InstanceCreationTask.cpp
|
|
InstanceCopyTask.h
|
|
InstanceCopyTask.cpp
|
|
InstanceImportTask.h
|
|
InstanceImportTask.cpp
|
|
|
|
# Mod downloading task
|
|
ModDownloadTask.h
|
|
ModDownloadTask.cpp
|
|
|
|
# Use tracking separate from memory management
|
|
Usable.h
|
|
|
|
# Prefix tree where node names are strings between separators
|
|
SeparatorPrefixTree.h
|
|
|
|
# String filters
|
|
Filter.h
|
|
Filter.cpp
|
|
|
|
# JSON parsing helpers
|
|
Json.h
|
|
Json.cpp
|
|
|
|
FileSystem.h
|
|
FileSystem.cpp
|
|
|
|
Exception.h
|
|
|
|
# RW lock protected map
|
|
RWStorage.h
|
|
|
|
# A variable that has an implicit default value and keeps track of changes
|
|
DefaultVariable.h
|
|
|
|
# a smart pointer wrapper intended for safer use with Qt signal/slot mechanisms
|
|
QObjectPtr.h
|
|
|
|
# Compression support
|
|
GZip.h
|
|
GZip.cpp
|
|
|
|
# Command line parameter parsing
|
|
Commandline.h
|
|
Commandline.cpp
|
|
|
|
# Version number string support
|
|
Version.h
|
|
Version.cpp
|
|
|
|
# A Recursive file system watcher
|
|
RecursiveFileSystemWatcher.h
|
|
RecursiveFileSystemWatcher.cpp
|
|
|
|
# Time
|
|
MMCTime.h
|
|
MMCTime.cpp
|
|
)
|
|
|
|
add_unit_test(FileSystem
|
|
SOURCES FileSystem_test.cpp
|
|
LIBS Launcher_logic
|
|
DATA testdata
|
|
)
|
|
|
|
add_unit_test(GZip
|
|
SOURCES GZip_test.cpp
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
set(PATHMATCHER_SOURCES
|
|
# Path matchers
|
|
pathmatcher/FSTreeMatcher.h
|
|
pathmatcher/IPathMatcher.h
|
|
pathmatcher/MultiMatcher.h
|
|
pathmatcher/RegexpMatcher.h
|
|
)
|
|
|
|
set(NET_SOURCES
|
|
# network stuffs
|
|
net/ByteArraySink.h
|
|
net/ChecksumValidator.h
|
|
net/Download.cpp
|
|
net/Download.h
|
|
net/FileSink.cpp
|
|
net/FileSink.h
|
|
net/HttpMetaCache.cpp
|
|
net/HttpMetaCache.h
|
|
net/MetaCacheSink.cpp
|
|
net/MetaCacheSink.h
|
|
net/NetAction.h
|
|
net/NetJob.cpp
|
|
net/NetJob.h
|
|
net/PasteUpload.cpp
|
|
net/PasteUpload.h
|
|
net/Sink.h
|
|
net/Validator.h
|
|
net/Upload.cpp
|
|
net/Upload.h
|
|
)
|
|
|
|
# Game launch logic
|
|
set(LAUNCH_SOURCES
|
|
launch/steps/CheckJava.cpp
|
|
launch/steps/CheckJava.h
|
|
launch/steps/LookupServerAddress.cpp
|
|
launch/steps/LookupServerAddress.h
|
|
launch/steps/PostLaunchCommand.cpp
|
|
launch/steps/PostLaunchCommand.h
|
|
launch/steps/PreLaunchCommand.cpp
|
|
launch/steps/PreLaunchCommand.h
|
|
launch/steps/TextPrint.cpp
|
|
launch/steps/TextPrint.h
|
|
launch/steps/Update.cpp
|
|
launch/steps/Update.h
|
|
launch/steps/QuitAfterGameStop.cpp
|
|
launch/steps/QuitAfterGameStop.h
|
|
launch/LaunchStep.cpp
|
|
launch/LaunchStep.h
|
|
launch/LaunchTask.cpp
|
|
launch/LaunchTask.h
|
|
launch/LogModel.cpp
|
|
launch/LogModel.h
|
|
)
|
|
|
|
if (Launcher_UPDATER_BASE)
|
|
set(Launcher_APP_BINARY_DEFS "-DLAUNCHER_WITH_UPDATER ${Launcher_APP_BINARY_DEFS}")
|
|
# Old update system
|
|
set(UPDATE_SOURCES
|
|
updater/GoUpdate.h
|
|
updater/GoUpdate.cpp
|
|
updater/UpdateChecker.h
|
|
updater/UpdateChecker.cpp
|
|
updater/DownloadTask.h
|
|
updater/DownloadTask.cpp
|
|
)
|
|
|
|
add_unit_test(UpdateChecker
|
|
SOURCES updater/UpdateChecker_test.cpp
|
|
LIBS Launcher_logic
|
|
DATA updater/testdata
|
|
)
|
|
add_unit_test(DownloadTask
|
|
SOURCES updater/DownloadTask_test.cpp
|
|
LIBS Launcher_logic
|
|
DATA updater/testdata
|
|
)
|
|
endif()
|
|
|
|
# Backend for the news bar... there's usually no news.
|
|
set(NEWS_SOURCES
|
|
# News System
|
|
news/NewsChecker.h
|
|
news/NewsChecker.cpp
|
|
news/NewsEntry.h
|
|
news/NewsEntry.cpp
|
|
)
|
|
|
|
# Icon interface
|
|
set(ICONS_SOURCES
|
|
# Icons System and related code
|
|
icons/IconUtils.h
|
|
icons/IconUtils.cpp
|
|
)
|
|
|
|
# Support for Minecraft instances and launch
|
|
set(MINECRAFT_SOURCES
|
|
# Minecraft support
|
|
minecraft/auth/AccountData.cpp
|
|
minecraft/auth/AccountData.h
|
|
minecraft/auth/AccountList.cpp
|
|
minecraft/auth/AccountList.h
|
|
minecraft/auth/AccountTask.cpp
|
|
minecraft/auth/AccountTask.h
|
|
minecraft/auth/AuthRequest.cpp
|
|
minecraft/auth/AuthRequest.h
|
|
minecraft/auth/AuthSession.cpp
|
|
minecraft/auth/AuthSession.h
|
|
minecraft/auth/AuthStep.cpp
|
|
minecraft/auth/AuthStep.h
|
|
minecraft/auth/MinecraftAccount.cpp
|
|
minecraft/auth/MinecraftAccount.h
|
|
minecraft/auth/Parsers.cpp
|
|
minecraft/auth/Parsers.h
|
|
minecraft/auth/Yggdrasil.cpp
|
|
minecraft/auth/Yggdrasil.h
|
|
|
|
minecraft/auth/flows/AuthFlow.cpp
|
|
minecraft/auth/flows/AuthFlow.h
|
|
minecraft/auth/flows/Mojang.cpp
|
|
minecraft/auth/flows/Mojang.h
|
|
minecraft/auth/flows/MSA.cpp
|
|
minecraft/auth/flows/MSA.h
|
|
minecraft/auth/flows/Offline.cpp
|
|
minecraft/auth/flows/Offline.h
|
|
|
|
minecraft/auth/steps/OfflineStep.cpp
|
|
minecraft/auth/steps/OfflineStep.h
|
|
minecraft/auth/steps/EntitlementsStep.cpp
|
|
minecraft/auth/steps/EntitlementsStep.h
|
|
minecraft/auth/steps/GetSkinStep.cpp
|
|
minecraft/auth/steps/GetSkinStep.h
|
|
minecraft/auth/steps/LauncherLoginStep.cpp
|
|
minecraft/auth/steps/LauncherLoginStep.h
|
|
minecraft/auth/steps/MigrationEligibilityStep.cpp
|
|
minecraft/auth/steps/MigrationEligibilityStep.h
|
|
minecraft/auth/steps/MinecraftProfileStep.cpp
|
|
minecraft/auth/steps/MinecraftProfileStep.h
|
|
minecraft/auth/steps/MinecraftProfileStepMojang.cpp
|
|
minecraft/auth/steps/MinecraftProfileStepMojang.h
|
|
minecraft/auth/steps/MSAStep.cpp
|
|
minecraft/auth/steps/MSAStep.h
|
|
minecraft/auth/steps/XboxAuthorizationStep.cpp
|
|
minecraft/auth/steps/XboxAuthorizationStep.h
|
|
minecraft/auth/steps/XboxProfileStep.cpp
|
|
minecraft/auth/steps/XboxProfileStep.h
|
|
minecraft/auth/steps/XboxUserStep.cpp
|
|
minecraft/auth/steps/XboxUserStep.h
|
|
minecraft/auth/steps/YggdrasilStep.cpp
|
|
minecraft/auth/steps/YggdrasilStep.h
|
|
|
|
minecraft/gameoptions/GameOptions.h
|
|
minecraft/gameoptions/GameOptions.cpp
|
|
|
|
minecraft/update/AssetUpdateTask.h
|
|
minecraft/update/AssetUpdateTask.cpp
|
|
minecraft/update/FMLLibrariesTask.cpp
|
|
minecraft/update/FMLLibrariesTask.h
|
|
minecraft/update/FoldersTask.cpp
|
|
minecraft/update/FoldersTask.h
|
|
minecraft/update/LibrariesTask.cpp
|
|
minecraft/update/LibrariesTask.h
|
|
|
|
minecraft/launch/ClaimAccount.cpp
|
|
minecraft/launch/ClaimAccount.h
|
|
minecraft/launch/CreateGameFolders.cpp
|
|
minecraft/launch/CreateGameFolders.h
|
|
minecraft/launch/ModMinecraftJar.cpp
|
|
minecraft/launch/ModMinecraftJar.h
|
|
minecraft/launch/DirectJavaLaunch.cpp
|
|
minecraft/launch/DirectJavaLaunch.h
|
|
minecraft/launch/ExtractNatives.cpp
|
|
minecraft/launch/ExtractNatives.h
|
|
minecraft/launch/LauncherPartLaunch.cpp
|
|
minecraft/launch/LauncherPartLaunch.h
|
|
minecraft/launch/MinecraftServerTarget.cpp
|
|
minecraft/launch/MinecraftServerTarget.h
|
|
minecraft/launch/PrintInstanceInfo.cpp
|
|
minecraft/launch/PrintInstanceInfo.h
|
|
minecraft/launch/ReconstructAssets.cpp
|
|
minecraft/launch/ReconstructAssets.h
|
|
minecraft/launch/ScanModFolders.cpp
|
|
minecraft/launch/ScanModFolders.h
|
|
minecraft/launch/VerifyJavaInstall.cpp
|
|
minecraft/launch/VerifyJavaInstall.h
|
|
|
|
minecraft/GradleSpecifier.h
|
|
minecraft/MinecraftInstance.cpp
|
|
minecraft/MinecraftInstance.h
|
|
minecraft/LaunchProfile.cpp
|
|
minecraft/LaunchProfile.h
|
|
minecraft/Component.cpp
|
|
minecraft/Component.h
|
|
minecraft/PackProfile.cpp
|
|
minecraft/PackProfile.h
|
|
minecraft/ComponentUpdateTask.cpp
|
|
minecraft/ComponentUpdateTask.h
|
|
minecraft/MinecraftLoadAndCheck.h
|
|
minecraft/MinecraftLoadAndCheck.cpp
|
|
minecraft/MinecraftUpdate.h
|
|
minecraft/MinecraftUpdate.cpp
|
|
minecraft/MojangVersionFormat.cpp
|
|
minecraft/MojangVersionFormat.h
|
|
minecraft/Rule.cpp
|
|
minecraft/Rule.h
|
|
minecraft/OneSixVersionFormat.cpp
|
|
minecraft/OneSixVersionFormat.h
|
|
minecraft/OpSys.cpp
|
|
minecraft/OpSys.h
|
|
minecraft/ParseUtils.cpp
|
|
minecraft/ParseUtils.h
|
|
minecraft/ProfileUtils.cpp
|
|
minecraft/ProfileUtils.h
|
|
minecraft/Library.cpp
|
|
minecraft/Library.h
|
|
minecraft/MojangDownloadInfo.h
|
|
minecraft/VersionFile.cpp
|
|
minecraft/VersionFile.h
|
|
minecraft/VersionFilterData.h
|
|
minecraft/VersionFilterData.cpp
|
|
minecraft/World.h
|
|
minecraft/World.cpp
|
|
minecraft/WorldList.h
|
|
minecraft/WorldList.cpp
|
|
|
|
minecraft/mod/MetadataHandler.h
|
|
minecraft/mod/Mod.h
|
|
minecraft/mod/Mod.cpp
|
|
minecraft/mod/ModDetails.h
|
|
minecraft/mod/ModFolderModel.h
|
|
minecraft/mod/ModFolderModel.cpp
|
|
minecraft/mod/ResourcePackFolderModel.h
|
|
minecraft/mod/ResourcePackFolderModel.cpp
|
|
minecraft/mod/TexturePackFolderModel.h
|
|
minecraft/mod/TexturePackFolderModel.cpp
|
|
minecraft/mod/tasks/ModFolderLoadTask.h
|
|
minecraft/mod/tasks/ModFolderLoadTask.cpp
|
|
minecraft/mod/tasks/LocalModParseTask.h
|
|
minecraft/mod/tasks/LocalModParseTask.cpp
|
|
minecraft/mod/tasks/LocalModUpdateTask.h
|
|
minecraft/mod/tasks/LocalModUpdateTask.cpp
|
|
|
|
# Assets
|
|
minecraft/AssetsUtils.h
|
|
minecraft/AssetsUtils.cpp
|
|
|
|
# Minecraft services
|
|
minecraft/services/CapeChange.cpp
|
|
minecraft/services/CapeChange.h
|
|
minecraft/services/SkinUpload.cpp
|
|
minecraft/services/SkinUpload.h
|
|
minecraft/services/SkinDelete.cpp
|
|
minecraft/services/SkinDelete.h
|
|
|
|
mojang/PackageManifest.h
|
|
mojang/PackageManifest.cpp
|
|
minecraft/Agent.h)
|
|
|
|
add_unit_test(GradleSpecifier
|
|
SOURCES minecraft/GradleSpecifier_test.cpp
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
if(BUILD_TESTING)
|
|
add_executable(PackageManifest
|
|
mojang/PackageManifest_test.cpp
|
|
)
|
|
target_link_libraries(PackageManifest
|
|
Launcher_logic
|
|
Qt5::Test
|
|
)
|
|
target_include_directories(PackageManifest
|
|
PRIVATE ../cmake/UnitTest/
|
|
)
|
|
add_test(
|
|
NAME PackageManifest
|
|
COMMAND PackageManifest
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
endif()
|
|
|
|
add_unit_test(MojangVersionFormat
|
|
SOURCES minecraft/MojangVersionFormat_test.cpp
|
|
LIBS Launcher_logic
|
|
DATA minecraft/testdata
|
|
)
|
|
|
|
add_unit_test(Library
|
|
SOURCES minecraft/Library_test.cpp
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
# FIXME: shares data with FileSystem test
|
|
add_unit_test(ModFolderModel
|
|
SOURCES minecraft/mod/ModFolderModel_test.cpp
|
|
DATA testdata
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
add_unit_test(ParseUtils
|
|
SOURCES minecraft/ParseUtils_test.cpp
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
# the screenshots feature
|
|
set(SCREENSHOTS_SOURCES
|
|
screenshots/Screenshot.h
|
|
screenshots/ImgurUpload.h
|
|
screenshots/ImgurUpload.cpp
|
|
screenshots/ImgurAlbumCreation.h
|
|
screenshots/ImgurAlbumCreation.cpp
|
|
)
|
|
|
|
set(TASKS_SOURCES
|
|
# Tasks
|
|
tasks/Task.h
|
|
tasks/Task.cpp
|
|
tasks/SequentialTask.h
|
|
tasks/SequentialTask.cpp
|
|
)
|
|
|
|
add_unit_test(Task
|
|
SOURCES tasks/Task_test.cpp
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
set(SETTINGS_SOURCES
|
|
# Settings
|
|
settings/INIFile.cpp
|
|
settings/INIFile.h
|
|
settings/INISettingsObject.cpp
|
|
settings/INISettingsObject.h
|
|
settings/OverrideSetting.cpp
|
|
settings/OverrideSetting.h
|
|
settings/PassthroughSetting.cpp
|
|
settings/PassthroughSetting.h
|
|
settings/Setting.cpp
|
|
settings/Setting.h
|
|
settings/SettingsObject.cpp
|
|
settings/SettingsObject.h
|
|
)
|
|
|
|
add_unit_test(INIFile
|
|
SOURCES settings/INIFile_test.cpp
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
set(JAVA_SOURCES
|
|
java/JavaChecker.h
|
|
java/JavaChecker.cpp
|
|
java/JavaCheckerJob.h
|
|
java/JavaCheckerJob.cpp
|
|
java/JavaInstall.h
|
|
java/JavaInstall.cpp
|
|
java/JavaInstallList.h
|
|
java/JavaInstallList.cpp
|
|
java/JavaUtils.h
|
|
java/JavaUtils.cpp
|
|
java/JavaVersion.h
|
|
java/JavaVersion.cpp
|
|
)
|
|
|
|
add_unit_test(JavaVersion
|
|
SOURCES java/JavaVersion_test.cpp
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
set(TRANSLATIONS_SOURCES
|
|
translations/TranslationsModel.h
|
|
translations/TranslationsModel.cpp
|
|
translations/POTranslator.h
|
|
translations/POTranslator.cpp
|
|
)
|
|
|
|
set(TOOLS_SOURCES
|
|
# Tools
|
|
tools/BaseExternalTool.cpp
|
|
tools/BaseExternalTool.h
|
|
tools/BaseProfiler.cpp
|
|
tools/BaseProfiler.h
|
|
tools/JProfiler.cpp
|
|
tools/JProfiler.h
|
|
tools/JVisualVM.cpp
|
|
tools/JVisualVM.h
|
|
tools/MCEditTool.cpp
|
|
tools/MCEditTool.h
|
|
)
|
|
|
|
set(META_SOURCES
|
|
# Metadata sources
|
|
meta/JsonFormat.cpp
|
|
meta/JsonFormat.h
|
|
meta/BaseEntity.cpp
|
|
meta/BaseEntity.h
|
|
meta/VersionList.cpp
|
|
meta/VersionList.h
|
|
meta/Version.cpp
|
|
meta/Version.h
|
|
meta/Index.cpp
|
|
meta/Index.h
|
|
)
|
|
|
|
set(API_SOURCES
|
|
modplatform/ModIndex.h
|
|
modplatform/ModIndex.cpp
|
|
|
|
modplatform/ModAPI.h
|
|
|
|
modplatform/flame/FlameAPI.h
|
|
modplatform/modrinth/ModrinthAPI.h
|
|
|
|
modplatform/helpers/NetworkModAPI.h
|
|
modplatform/helpers/NetworkModAPI.cpp
|
|
)
|
|
|
|
set(FTB_SOURCES
|
|
modplatform/legacy_ftb/PackFetchTask.h
|
|
modplatform/legacy_ftb/PackFetchTask.cpp
|
|
modplatform/legacy_ftb/PackInstallTask.h
|
|
modplatform/legacy_ftb/PackInstallTask.cpp
|
|
modplatform/legacy_ftb/PrivatePackManager.h
|
|
modplatform/legacy_ftb/PrivatePackManager.cpp
|
|
|
|
modplatform/legacy_ftb/PackHelpers.h
|
|
)
|
|
|
|
set(FLAME_SOURCES
|
|
# Flame
|
|
modplatform/flame/FlamePackIndex.cpp
|
|
modplatform/flame/FlamePackIndex.h
|
|
modplatform/flame/FlameModIndex.cpp
|
|
modplatform/flame/FlameModIndex.h
|
|
modplatform/flame/PackManifest.h
|
|
modplatform/flame/PackManifest.cpp
|
|
modplatform/flame/FileResolvingTask.h
|
|
modplatform/flame/FileResolvingTask.cpp
|
|
)
|
|
|
|
set(MODRINTH_SOURCES
|
|
modplatform/modrinth/ModrinthPackIndex.cpp
|
|
modplatform/modrinth/ModrinthPackIndex.h
|
|
modplatform/modrinth/ModrinthPackManifest.cpp
|
|
modplatform/modrinth/ModrinthPackManifest.h
|
|
)
|
|
|
|
set(MODPACKSCH_SOURCES
|
|
modplatform/modpacksch/FTBPackInstallTask.h
|
|
modplatform/modpacksch/FTBPackInstallTask.cpp
|
|
modplatform/modpacksch/FTBPackManifest.h
|
|
modplatform/modpacksch/FTBPackManifest.cpp
|
|
)
|
|
|
|
set(PACKWIZ_SOURCES
|
|
modplatform/packwiz/Packwiz.h
|
|
modplatform/packwiz/Packwiz.cpp
|
|
)
|
|
|
|
add_unit_test(Packwiz
|
|
SOURCES modplatform/packwiz/Packwiz_test.cpp
|
|
DATA modplatform/packwiz/testdata
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
set(TECHNIC_SOURCES
|
|
modplatform/technic/SingleZipPackInstallTask.h
|
|
modplatform/technic/SingleZipPackInstallTask.cpp
|
|
modplatform/technic/SolderPackInstallTask.h
|
|
modplatform/technic/SolderPackInstallTask.cpp
|
|
modplatform/technic/SolderPackManifest.h
|
|
modplatform/technic/SolderPackManifest.cpp
|
|
modplatform/technic/TechnicPackProcessor.h
|
|
modplatform/technic/TechnicPackProcessor.cpp
|
|
)
|
|
|
|
set(ATLAUNCHER_SOURCES
|
|
modplatform/atlauncher/ATLPackIndex.cpp
|
|
modplatform/atlauncher/ATLPackIndex.h
|
|
modplatform/atlauncher/ATLPackInstallTask.cpp
|
|
modplatform/atlauncher/ATLPackInstallTask.h
|
|
modplatform/atlauncher/ATLPackManifest.cpp
|
|
modplatform/atlauncher/ATLPackManifest.h
|
|
modplatform/atlauncher/ATLShareCode.cpp
|
|
modplatform/atlauncher/ATLShareCode.h
|
|
)
|
|
|
|
add_unit_test(Index
|
|
SOURCES meta/Index_test.cpp
|
|
LIBS Launcher_logic
|
|
)
|
|
|
|
################################ COMPILE ################################
|
|
|
|
# we need zlib
|
|
find_package(ZLIB REQUIRED)
|
|
|
|
set(LOGIC_SOURCES
|
|
${CORE_SOURCES}
|
|
${PATHMATCHER_SOURCES}
|
|
${NET_SOURCES}
|
|
${LAUNCH_SOURCES}
|
|
${UPDATE_SOURCES}
|
|
${NEWS_SOURCES}
|
|
${MINECRAFT_SOURCES}
|
|
${SCREENSHOTS_SOURCES}
|
|
${TASKS_SOURCES}
|
|
${SETTINGS_SOURCES}
|
|
${JAVA_SOURCES}
|
|
${TRANSLATIONS_SOURCES}
|
|
${TOOLS_SOURCES}
|
|
${META_SOURCES}
|
|
${ICONS_SOURCES}
|
|
${API_SOURCES}
|
|
${FTB_SOURCES}
|
|
${FLAME_SOURCES}
|
|
${MODRINTH_SOURCES}
|
|
${MODPACKSCH_SOURCES}
|
|
${PACKWIZ_SOURCES}
|
|
${TECHNIC_SOURCES}
|
|
${ATLAUNCHER_SOURCES}
|
|
)
|
|
|
|
SET(LAUNCHER_SOURCES
|
|
# Application base
|
|
Application.h
|
|
Application.cpp
|
|
UpdateController.cpp
|
|
UpdateController.h
|
|
ApplicationMessage.h
|
|
ApplicationMessage.cpp
|
|
|
|
# GUI - general utilities
|
|
DesktopServices.h
|
|
DesktopServices.cpp
|
|
VersionProxyModel.h
|
|
VersionProxyModel.cpp
|
|
HoeDown.h
|
|
|
|
# Super secret!
|
|
KonamiCode.h
|
|
KonamiCode.cpp
|
|
|
|
# Bundled resources
|
|
resources/backgrounds/backgrounds.qrc
|
|
resources/multimc/multimc.qrc
|
|
resources/pe_dark/pe_dark.qrc
|
|
resources/pe_light/pe_light.qrc
|
|
resources/pe_colored/pe_colored.qrc
|
|
resources/pe_blue/pe_blue.qrc
|
|
resources/OSX/OSX.qrc
|
|
resources/iOS/iOS.qrc
|
|
resources/flat/flat.qrc
|
|
resources/documents/documents.qrc
|
|
../${Launcher_Branding_LogoQRC}
|
|
|
|
# Icons
|
|
icons/MMCIcon.h
|
|
icons/MMCIcon.cpp
|
|
icons/IconList.h
|
|
icons/IconList.cpp
|
|
|
|
# GUI - windows
|
|
ui/GuiUtil.h
|
|
ui/GuiUtil.cpp
|
|
ui/ColorCache.h
|
|
ui/ColorCache.cpp
|
|
ui/MainWindow.h
|
|
ui/MainWindow.cpp
|
|
ui/InstanceWindow.h
|
|
ui/InstanceWindow.cpp
|
|
|
|
# FIXME: maybe find a better home for this.
|
|
SkinUtils.cpp
|
|
SkinUtils.h
|
|
|
|
# GUI - setup wizard
|
|
ui/setupwizard/SetupWizard.h
|
|
ui/setupwizard/SetupWizard.cpp
|
|
ui/setupwizard/BaseWizardPage.h
|
|
ui/setupwizard/JavaWizardPage.cpp
|
|
ui/setupwizard/JavaWizardPage.h
|
|
ui/setupwizard/LanguageWizardPage.cpp
|
|
ui/setupwizard/LanguageWizardPage.h
|
|
ui/setupwizard/PasteWizardPage.cpp
|
|
ui/setupwizard/PasteWizardPage.h
|
|
|
|
# GUI - themes
|
|
ui/themes/FusionTheme.cpp
|
|
ui/themes/FusionTheme.h
|
|
ui/themes/BrightTheme.cpp
|
|
ui/themes/BrightTheme.h
|
|
ui/themes/CustomTheme.cpp
|
|
ui/themes/CustomTheme.h
|
|
ui/themes/DarkTheme.cpp
|
|
ui/themes/DarkTheme.h
|
|
ui/themes/ITheme.cpp
|
|
ui/themes/ITheme.h
|
|
ui/themes/SystemTheme.cpp
|
|
ui/themes/SystemTheme.h
|
|
|
|
# Processes
|
|
LaunchController.h
|
|
LaunchController.cpp
|
|
|
|
# page provider for instances
|
|
InstancePageProvider.h
|
|
|
|
# Common java checking UI
|
|
JavaCommon.h
|
|
JavaCommon.cpp
|
|
|
|
# GUI - paged dialog base
|
|
ui/pages/BasePage.h
|
|
ui/pages/BasePageContainer.h
|
|
ui/pages/BasePageProvider.h
|
|
|
|
# GUI - instance pages
|
|
ui/pages/instance/ExternalResourcesPage.cpp
|
|
ui/pages/instance/ExternalResourcesPage.h
|
|
ui/pages/instance/GameOptionsPage.cpp
|
|
ui/pages/instance/GameOptionsPage.h
|
|
ui/pages/instance/VersionPage.cpp
|
|
ui/pages/instance/VersionPage.h
|
|
ui/pages/instance/TexturePackPage.h
|
|
ui/pages/instance/ResourcePackPage.h
|
|
ui/pages/instance/ShaderPackPage.h
|
|
ui/pages/instance/ModFolderPage.cpp
|
|
ui/pages/instance/ModFolderPage.h
|
|
ui/pages/instance/NotesPage.cpp
|
|
ui/pages/instance/NotesPage.h
|
|
ui/pages/instance/LogPage.cpp
|
|
ui/pages/instance/LogPage.h
|
|
ui/pages/instance/InstanceSettingsPage.cpp
|
|
ui/pages/instance/InstanceSettingsPage.h
|
|
ui/pages/instance/ScreenshotsPage.cpp
|
|
ui/pages/instance/ScreenshotsPage.h
|
|
ui/pages/instance/OtherLogsPage.cpp
|
|
ui/pages/instance/OtherLogsPage.h
|
|
ui/pages/instance/ServersPage.cpp
|
|
ui/pages/instance/ServersPage.h
|
|
ui/pages/instance/WorldListPage.cpp
|
|
ui/pages/instance/WorldListPage.h
|
|
|
|
# GUI - global settings pages
|
|
ui/pages/global/AccountListPage.cpp
|
|
ui/pages/global/AccountListPage.h
|
|
ui/pages/global/CustomCommandsPage.cpp
|
|
ui/pages/global/CustomCommandsPage.h
|
|
ui/pages/global/ExternalToolsPage.cpp
|
|
ui/pages/global/ExternalToolsPage.h
|
|
ui/pages/global/JavaPage.cpp
|
|
ui/pages/global/JavaPage.h
|
|
ui/pages/global/LanguagePage.cpp
|
|
ui/pages/global/LanguagePage.h
|
|
ui/pages/global/MinecraftPage.cpp
|
|
ui/pages/global/MinecraftPage.h
|
|
ui/pages/global/LauncherPage.cpp
|
|
ui/pages/global/LauncherPage.h
|
|
ui/pages/global/ProxyPage.cpp
|
|
ui/pages/global/ProxyPage.h
|
|
ui/pages/global/APIPage.cpp
|
|
ui/pages/global/APIPage.h
|
|
|
|
# GUI - platform pages
|
|
ui/pages/modplatform/VanillaPage.cpp
|
|
ui/pages/modplatform/VanillaPage.h
|
|
|
|
ui/pages/modplatform/ModPage.cpp
|
|
ui/pages/modplatform/ModPage.h
|
|
ui/pages/modplatform/ModModel.cpp
|
|
ui/pages/modplatform/ModModel.h
|
|
|
|
ui/pages/modplatform/atlauncher/AtlFilterModel.cpp
|
|
ui/pages/modplatform/atlauncher/AtlFilterModel.h
|
|
ui/pages/modplatform/atlauncher/AtlListModel.cpp
|
|
ui/pages/modplatform/atlauncher/AtlListModel.h
|
|
ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp
|
|
ui/pages/modplatform/atlauncher/AtlOptionalModDialog.h
|
|
ui/pages/modplatform/atlauncher/AtlPage.cpp
|
|
ui/pages/modplatform/atlauncher/AtlPage.h
|
|
|
|
ui/pages/modplatform/ftb/FtbFilterModel.cpp
|
|
ui/pages/modplatform/ftb/FtbFilterModel.h
|
|
ui/pages/modplatform/ftb/FtbListModel.cpp
|
|
ui/pages/modplatform/ftb/FtbListModel.h
|
|
ui/pages/modplatform/ftb/FtbPage.cpp
|
|
ui/pages/modplatform/ftb/FtbPage.h
|
|
|
|
ui/pages/modplatform/legacy_ftb/Page.cpp
|
|
ui/pages/modplatform/legacy_ftb/Page.h
|
|
ui/pages/modplatform/legacy_ftb/ListModel.h
|
|
ui/pages/modplatform/legacy_ftb/ListModel.cpp
|
|
|
|
ui/pages/modplatform/flame/FlameModel.cpp
|
|
ui/pages/modplatform/flame/FlameModel.h
|
|
ui/pages/modplatform/flame/FlamePage.cpp
|
|
ui/pages/modplatform/flame/FlamePage.h
|
|
ui/pages/modplatform/flame/FlameModModel.cpp
|
|
ui/pages/modplatform/flame/FlameModModel.h
|
|
ui/pages/modplatform/flame/FlameModPage.cpp
|
|
ui/pages/modplatform/flame/FlameModPage.h
|
|
|
|
ui/pages/modplatform/modrinth/ModrinthPage.cpp
|
|
ui/pages/modplatform/modrinth/ModrinthPage.h
|
|
ui/pages/modplatform/modrinth/ModrinthModel.cpp
|
|
ui/pages/modplatform/modrinth/ModrinthModel.h
|
|
|
|
ui/pages/modplatform/technic/TechnicModel.cpp
|
|
ui/pages/modplatform/technic/TechnicModel.h
|
|
ui/pages/modplatform/technic/TechnicPage.cpp
|
|
ui/pages/modplatform/technic/TechnicPage.h
|
|
|
|
ui/pages/modplatform/ImportPage.cpp
|
|
ui/pages/modplatform/ImportPage.h
|
|
|
|
ui/pages/modplatform/modrinth/ModrinthModModel.cpp
|
|
ui/pages/modplatform/modrinth/ModrinthModModel.h
|
|
ui/pages/modplatform/modrinth/ModrinthModPage.cpp
|
|
ui/pages/modplatform/modrinth/ModrinthModPage.h
|
|
|
|
# GUI - dialogs
|
|
ui/dialogs/AboutDialog.cpp
|
|
ui/dialogs/AboutDialog.h
|
|
ui/dialogs/ProfileSelectDialog.cpp
|
|
ui/dialogs/ProfileSelectDialog.h
|
|
ui/dialogs/ProfileSetupDialog.cpp
|
|
ui/dialogs/ProfileSetupDialog.h
|
|
ui/dialogs/CopyInstanceDialog.cpp
|
|
ui/dialogs/CopyInstanceDialog.h
|
|
ui/dialogs/CustomMessageBox.cpp
|
|
ui/dialogs/CustomMessageBox.h
|
|
ui/dialogs/EditAccountDialog.cpp
|
|
ui/dialogs/EditAccountDialog.h
|
|
ui/dialogs/ExportInstanceDialog.cpp
|
|
ui/dialogs/ExportInstanceDialog.h
|
|
ui/dialogs/IconPickerDialog.cpp
|
|
ui/dialogs/IconPickerDialog.h
|
|
ui/dialogs/LoginDialog.cpp
|
|
ui/dialogs/LoginDialog.h
|
|
ui/dialogs/MSALoginDialog.cpp
|
|
ui/dialogs/MSALoginDialog.h
|
|
ui/dialogs/OfflineLoginDialog.cpp
|
|
ui/dialogs/OfflineLoginDialog.h
|
|
ui/dialogs/NewComponentDialog.cpp
|
|
ui/dialogs/NewComponentDialog.h
|
|
ui/dialogs/NewInstanceDialog.cpp
|
|
ui/dialogs/NewInstanceDialog.h
|
|
ui/pagedialog/PageDialog.cpp
|
|
ui/pagedialog/PageDialog.h
|
|
ui/dialogs/ProgressDialog.cpp
|
|
ui/dialogs/ProgressDialog.h
|
|
ui/dialogs/ReviewMessageBox.cpp
|
|
ui/dialogs/ReviewMessageBox.h
|
|
ui/dialogs/UpdateDialog.cpp
|
|
ui/dialogs/UpdateDialog.h
|
|
ui/dialogs/VersionSelectDialog.cpp
|
|
ui/dialogs/VersionSelectDialog.h
|
|
ui/dialogs/SkinUploadDialog.cpp
|
|
ui/dialogs/SkinUploadDialog.h
|
|
ui/dialogs/ModDownloadDialog.cpp
|
|
ui/dialogs/ModDownloadDialog.h
|
|
ui/dialogs/ScrollMessageBox.cpp
|
|
ui/dialogs/ScrollMessageBox.h
|
|
|
|
# GUI - widgets
|
|
ui/widgets/Common.cpp
|
|
ui/widgets/Common.h
|
|
ui/widgets/CustomCommands.cpp
|
|
ui/widgets/CustomCommands.h
|
|
ui/widgets/DropLabel.cpp
|
|
ui/widgets/DropLabel.h
|
|
ui/widgets/FocusLineEdit.cpp
|
|
ui/widgets/FocusLineEdit.h
|
|
ui/widgets/IconLabel.cpp
|
|
ui/widgets/IconLabel.h
|
|
ui/widgets/JavaSettingsWidget.cpp
|
|
ui/widgets/JavaSettingsWidget.h
|
|
ui/widgets/LabeledToolButton.cpp
|
|
ui/widgets/LabeledToolButton.h
|
|
ui/widgets/LanguageSelectionWidget.cpp
|
|
ui/widgets/LanguageSelectionWidget.h
|
|
ui/widgets/LineSeparator.cpp
|
|
ui/widgets/LineSeparator.h
|
|
ui/widgets/LogView.cpp
|
|
ui/widgets/LogView.h
|
|
ui/widgets/MCModInfoFrame.cpp
|
|
ui/widgets/MCModInfoFrame.h
|
|
ui/widgets/ModFilterWidget.cpp
|
|
ui/widgets/ModFilterWidget.h
|
|
ui/widgets/ModListView.cpp
|
|
ui/widgets/ModListView.h
|
|
ui/widgets/PageContainer.cpp
|
|
ui/widgets/PageContainer.h
|
|
ui/widgets/PageContainer_p.h
|
|
ui/widgets/VersionListView.cpp
|
|
ui/widgets/VersionListView.h
|
|
ui/widgets/VersionSelectWidget.cpp
|
|
ui/widgets/VersionSelectWidget.h
|
|
ui/widgets/ProgressWidget.h
|
|
ui/widgets/ProgressWidget.cpp
|
|
ui/widgets/WideBar.h
|
|
ui/widgets/WideBar.cpp
|
|
|
|
# GUI - instance group view
|
|
ui/instanceview/InstanceProxyModel.cpp
|
|
ui/instanceview/InstanceProxyModel.h
|
|
ui/instanceview/AccessibleInstanceView.cpp
|
|
ui/instanceview/AccessibleInstanceView.h
|
|
ui/instanceview/AccessibleInstanceView_p.h
|
|
ui/instanceview/InstanceView.cpp
|
|
ui/instanceview/InstanceView.h
|
|
ui/instanceview/InstanceDelegate.cpp
|
|
ui/instanceview/InstanceDelegate.h
|
|
ui/instanceview/VisualGroup.cpp
|
|
ui/instanceview/VisualGroup.h
|
|
)
|
|
|
|
qt5_wrap_ui(LAUNCHER_UI
|
|
ui/setupwizard/PasteWizardPage.ui
|
|
ui/pages/global/AccountListPage.ui
|
|
ui/pages/global/JavaPage.ui
|
|
ui/pages/global/LauncherPage.ui
|
|
ui/pages/global/APIPage.ui
|
|
ui/pages/global/ProxyPage.ui
|
|
ui/pages/global/MinecraftPage.ui
|
|
ui/pages/global/ExternalToolsPage.ui
|
|
ui/pages/instance/ExternalResourcesPage.ui
|
|
ui/pages/instance/NotesPage.ui
|
|
ui/pages/instance/LogPage.ui
|
|
ui/pages/instance/ServersPage.ui
|
|
ui/pages/instance/GameOptionsPage.ui
|
|
ui/pages/instance/OtherLogsPage.ui
|
|
ui/pages/instance/InstanceSettingsPage.ui
|
|
ui/pages/instance/VersionPage.ui
|
|
ui/pages/instance/WorldListPage.ui
|
|
ui/pages/instance/ScreenshotsPage.ui
|
|
ui/pages/modplatform/atlauncher/AtlOptionalModDialog.ui
|
|
ui/pages/modplatform/atlauncher/AtlPage.ui
|
|
ui/pages/modplatform/VanillaPage.ui
|
|
ui/pages/modplatform/ModPage.ui
|
|
ui/pages/modplatform/flame/FlamePage.ui
|
|
ui/pages/modplatform/legacy_ftb/Page.ui
|
|
ui/pages/modplatform/ImportPage.ui
|
|
ui/pages/modplatform/ftb/FtbPage.ui
|
|
ui/pages/modplatform/modrinth/ModrinthPage.ui
|
|
ui/pages/modplatform/technic/TechnicPage.ui
|
|
ui/widgets/InstanceCardWidget.ui
|
|
ui/widgets/CustomCommands.ui
|
|
ui/widgets/MCModInfoFrame.ui
|
|
ui/widgets/ModFilterWidget.ui
|
|
ui/dialogs/CopyInstanceDialog.ui
|
|
ui/dialogs/ProfileSetupDialog.ui
|
|
ui/dialogs/ProgressDialog.ui
|
|
ui/dialogs/NewInstanceDialog.ui
|
|
ui/dialogs/UpdateDialog.ui
|
|
ui/dialogs/NewComponentDialog.ui
|
|
ui/dialogs/ProfileSelectDialog.ui
|
|
ui/dialogs/SkinUploadDialog.ui
|
|
ui/dialogs/ExportInstanceDialog.ui
|
|
ui/dialogs/IconPickerDialog.ui
|
|
ui/dialogs/MSALoginDialog.ui
|
|
ui/dialogs/OfflineLoginDialog.ui
|
|
ui/dialogs/AboutDialog.ui
|
|
ui/dialogs/LoginDialog.ui
|
|
ui/dialogs/EditAccountDialog.ui
|
|
ui/dialogs/ReviewMessageBox.ui
|
|
ui/dialogs/ScrollMessageBox.ui
|
|
)
|
|
|
|
qt5_add_resources(LAUNCHER_RESOURCES
|
|
resources/backgrounds/backgrounds.qrc
|
|
resources/multimc/multimc.qrc
|
|
resources/pe_dark/pe_dark.qrc
|
|
resources/pe_light/pe_light.qrc
|
|
resources/pe_colored/pe_colored.qrc
|
|
resources/pe_blue/pe_blue.qrc
|
|
resources/OSX/OSX.qrc
|
|
resources/iOS/iOS.qrc
|
|
resources/flat/flat.qrc
|
|
resources/documents/documents.qrc
|
|
../${Launcher_Branding_LogoQRC}
|
|
)
|
|
|
|
######## Windows resource files ########
|
|
if(WIN32)
|
|
set(LAUNCHER_RCS ${CMAKE_CURRENT_BINARY_DIR}/../${Launcher_Branding_WindowsRC})
|
|
endif()
|
|
|
|
# Add executable
|
|
add_library(Launcher_logic STATIC ${LOGIC_SOURCES} ${LAUNCHER_SOURCES} ${LAUNCHER_UI} ${LAUNCHER_RESOURCES})
|
|
target_link_libraries(Launcher_logic
|
|
systeminfo
|
|
Launcher_classparser
|
|
nbt++
|
|
${ZLIB_LIBRARIES}
|
|
optional-bare
|
|
tomlc99
|
|
BuildConfig
|
|
Katabasis
|
|
)
|
|
target_link_libraries(Launcher_logic
|
|
Qt5::Core
|
|
Qt5::Xml
|
|
Qt5::Network
|
|
Qt5::Concurrent
|
|
Qt5::Gui
|
|
)
|
|
target_link_libraries(Launcher_logic
|
|
Launcher_iconfix
|
|
QuaZip::QuaZip
|
|
hoedown
|
|
LocalPeer
|
|
Launcher_rainbow
|
|
)
|
|
|
|
target_link_libraries(Launcher_logic)
|
|
|
|
add_executable(${Launcher_Name} MACOSX_BUNDLE WIN32 main.cpp ${LAUNCHER_RCS})
|
|
target_link_libraries(${Launcher_Name} Launcher_logic)
|
|
|
|
if(DEFINED Launcher_APP_BINARY_NAME)
|
|
set_target_properties(${Launcher_Name} PROPERTIES OUTPUT_NAME "${Launcher_APP_BINARY_NAME}")
|
|
endif()
|
|
if(DEFINED Launcher_BINARY_RPATH)
|
|
SET_TARGET_PROPERTIES(${Launcher_Name} PROPERTIES INSTALL_RPATH "${Launcher_BINARY_RPATH}")
|
|
endif()
|
|
|
|
if(DEFINED Launcher_APP_BINARY_DEFS)
|
|
target_compile_definitions(${Launcher_Name} PRIVATE ${Launcher_APP_BINARY_DEFS})
|
|
target_compile_definitions(Launcher_logic PRIVATE ${Launcher_APP_BINARY_DEFS})
|
|
endif()
|
|
|
|
install(TARGETS ${Launcher_Name}
|
|
BUNDLE DESTINATION "." COMPONENT Runtime
|
|
LIBRARY DESTINATION ${LIBRARY_DEST_DIR} COMPONENT Runtime
|
|
RUNTIME DESTINATION ${BINARY_DEST_DIR} COMPONENT Runtime
|
|
)
|
|
|
|
#### The bundle mess! ####
|
|
# Bundle utilities are used to complete the portable packages - they add all the libraries that would otherwise be missing on the target system.
|
|
# NOTE: it seems that this absolutely has to be here, and nowhere else.
|
|
if(INSTALL_BUNDLE STREQUAL "full")
|
|
# Add qt.conf - this makes Qt stop looking for things outside the bundle
|
|
install(
|
|
CODE "file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${RESOURCES_DEST_DIR}/qt.conf\" \" \")"
|
|
COMPONENT Runtime
|
|
)
|
|
# Bundle plugins
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
|
# Image formats
|
|
install(
|
|
DIRECTORY "${QT_PLUGINS_DIR}/imageformats"
|
|
DESTINATION ${PLUGIN_DEST_DIR}
|
|
COMPONENT Runtime
|
|
REGEX "tga|tiff|mng" EXCLUDE
|
|
)
|
|
# Icon engines
|
|
install(
|
|
DIRECTORY "${QT_PLUGINS_DIR}/iconengines"
|
|
DESTINATION ${PLUGIN_DEST_DIR}
|
|
COMPONENT Runtime
|
|
REGEX "fontawesome" EXCLUDE
|
|
)
|
|
# Platform plugins
|
|
install(
|
|
DIRECTORY "${QT_PLUGINS_DIR}/platforms"
|
|
DESTINATION ${PLUGIN_DEST_DIR}
|
|
COMPONENT Runtime
|
|
REGEX "minimal|linuxfb|offscreen" EXCLUDE
|
|
)
|
|
# Style plugins
|
|
if(EXISTS "${QT_PLUGINS_DIR}/styles")
|
|
install(
|
|
DIRECTORY "${QT_PLUGINS_DIR}/styles"
|
|
DESTINATION ${PLUGIN_DEST_DIR}
|
|
COMPONENT Runtime
|
|
)
|
|
endif()
|
|
else()
|
|
# Image formats
|
|
install(
|
|
DIRECTORY "${QT_PLUGINS_DIR}/imageformats"
|
|
DESTINATION ${PLUGIN_DEST_DIR}
|
|
COMPONENT Runtime
|
|
REGEX "tga|tiff|mng" EXCLUDE
|
|
REGEX "d\\." EXCLUDE
|
|
REGEX "_debug\\." EXCLUDE
|
|
REGEX "\\.dSYM" EXCLUDE
|
|
)
|
|
# Icon engines
|
|
install(
|
|
DIRECTORY "${QT_PLUGINS_DIR}/iconengines"
|
|
DESTINATION ${PLUGIN_DEST_DIR}
|
|
COMPONENT Runtime
|
|
REGEX "fontawesome" EXCLUDE
|
|
REGEX "d\\." EXCLUDE
|
|
REGEX "_debug\\." EXCLUDE
|
|
REGEX "\\.dSYM" EXCLUDE
|
|
)
|
|
# Platform plugins
|
|
install(
|
|
DIRECTORY "${QT_PLUGINS_DIR}/platforms"
|
|
DESTINATION ${PLUGIN_DEST_DIR}
|
|
COMPONENT Runtime
|
|
REGEX "minimal|linuxfb|offscreen" EXCLUDE
|
|
REGEX "d\\." EXCLUDE
|
|
REGEX "_debug\\." EXCLUDE
|
|
REGEX "\\.dSYM" EXCLUDE
|
|
)
|
|
# Style plugins
|
|
if(EXISTS "${QT_PLUGINS_DIR}/styles")
|
|
install(
|
|
DIRECTORY "${QT_PLUGINS_DIR}/styles"
|
|
DESTINATION ${PLUGIN_DEST_DIR}
|
|
COMPONENT Runtime
|
|
REGEX "d\\." EXCLUDE
|
|
REGEX "_debug\\." EXCLUDE
|
|
REGEX "\\.dSYM" EXCLUDE
|
|
)
|
|
endif()
|
|
endif()
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/install_prereqs.cmake.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/install_prereqs.cmake"
|
|
@ONLY
|
|
)
|
|
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/install_prereqs.cmake" COMPONENT Runtime)
|
|
endif()
|