NOISSUE move everything.
This commit is contained in:
parent
4730f54df7
commit
db877ba121
784
CMakeLists.txt
784
CMakeLists.txt
@ -10,13 +10,12 @@ if(WIN32)
|
|||||||
cmake_policy(SET CMP0020 OLD)
|
cmake_policy(SET CMP0020 OLD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(MultiMC)
|
project(Megatron)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
######## Set CMake options ########
|
######## Set CMake options ########
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
set(FILES_TO_TRANSLATE )
|
|
||||||
|
|
||||||
######## Set module path ########
|
######## Set module path ########
|
||||||
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/")
|
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/")
|
||||||
@ -47,7 +46,6 @@ find_package(Qt5Concurrent REQUIRED)
|
|||||||
find_package(Qt5Network REQUIRED)
|
find_package(Qt5Network REQUIRED)
|
||||||
find_package(Qt5Test REQUIRED)
|
find_package(Qt5Test REQUIRED)
|
||||||
find_package(Qt5Xml REQUIRED)
|
find_package(Qt5Xml REQUIRED)
|
||||||
find_package(Qt5LinguistTools REQUIRED)
|
|
||||||
find_package(Qt5WebKitWidgets REQUIRED)
|
find_package(Qt5WebKitWidgets REQUIRED)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
@ -78,95 +76,6 @@ if(${BIGENDIAN})
|
|||||||
add_definitions(-DMULTIMC_BIG_ENDIAN)
|
add_definitions(-DMULTIMC_BIG_ENDIAN)
|
||||||
endif(${BIGENDIAN})
|
endif(${BIGENDIAN})
|
||||||
|
|
||||||
######## Set URLs ########
|
|
||||||
set(MultiMC_NEWS_RSS_URL "http://multimc.org/rss.xml" CACHE STRING "URL to fetch MultiMC's news RSS feed from.")
|
|
||||||
|
|
||||||
######## Set version numbers ########
|
|
||||||
set(MultiMC_VERSION_MAJOR 0)
|
|
||||||
set(MultiMC_VERSION_MINOR 4)
|
|
||||||
set(MultiMC_VERSION_HOTFIX 5)
|
|
||||||
|
|
||||||
# Build number
|
|
||||||
set(MultiMC_VERSION_BUILD -1 CACHE STRING "Build number. -1 for no build number.")
|
|
||||||
|
|
||||||
# Version type
|
|
||||||
set(MultiMC_VERSION_TYPE "Custom" CACHE STRING "MultiMC's version type. This should be one of 'Custom', 'Release', 'ReleaseCandidate', or 'Development', depending on what type of version this is.")
|
|
||||||
|
|
||||||
# Build platform.
|
|
||||||
set(MultiMC_BUILD_PLATFORM "" CACHE STRING "A short string identifying the platform that this build was built for. Only used by the notification system and to display in the about dialog.")
|
|
||||||
|
|
||||||
# Version channel
|
|
||||||
set(MultiMC_VERSION_CHANNEL "" CACHE STRING "The current build's channel. Included in the version string.")
|
|
||||||
|
|
||||||
# Channel list URL
|
|
||||||
set(MultiMC_CHANLIST_URL "" CACHE STRING "URL for the channel list.")
|
|
||||||
|
|
||||||
# Updater enabled?
|
|
||||||
set(MultiMC_UPDATER false CACHE BOOL "Whether or not the update system is enabled. If this is enabled, you must also set MultiMC_CHANLIST_URL and MultiMC_VERSION_CHANNEL in order for it to work properly.")
|
|
||||||
|
|
||||||
# Notification URL
|
|
||||||
set(MultiMC_NOTIFICATION_URL "" CACHE STRING "URL for checking for notifications.")
|
|
||||||
|
|
||||||
set(MultiMC_RELEASE_VERSION_NAME "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}")
|
|
||||||
if(MultiMC_VERSION_HOTFIX GREATER 0)
|
|
||||||
set(MultiMC_RELEASE_VERSION_NAME "${MultiMC_RELEASE_VERSION_NAME}.${MultiMC_VERSION_HOTFIX}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Build a version string to display in the configure logs.
|
|
||||||
if(MultiMC_VERSION_TYPE STREQUAL "Custom")
|
|
||||||
message(STATUS "Version Type: Custom")
|
|
||||||
set(MultiMC_VERSION_STRING "${MultiMC_RELEASE_VERSION_NAME}")
|
|
||||||
elseif(MultiMC_VERSION_TYPE STREQUAL "Release")
|
|
||||||
message(STATUS "Version Type: Stable Release")
|
|
||||||
set(MultiMC_VERSION_STRING "${MultiMC_RELEASE_VERSION_NAME}")
|
|
||||||
elseif(MultiMC_VERSION_TYPE STREQUAL "Development")
|
|
||||||
message(STATUS "Version Type: Development")
|
|
||||||
set(MultiMC_VERSION_STRING "${MultiMC_RELEASE_VERSION_NAME}-dev${MultiMC_VERSION_BUILD}")
|
|
||||||
else()
|
|
||||||
message(ERROR "Invalid build type.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message(STATUS "MultiMC 5 Version: ${MultiMC_VERSION_STRING}")
|
|
||||||
|
|
||||||
# If the update system is enabled, make sure MultiMC_CHANLIST_URL and MultiMC_VERSION_CHANNEL are set.
|
|
||||||
if(MultiMC_UPDATER)
|
|
||||||
if(MultiMC_VERSION_CHANNEL STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Update system is enabled, but MultiMC_VERSION_CHANNEL is not set.\n"
|
|
||||||
"Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.")
|
|
||||||
endif()
|
|
||||||
if(MultiMC_CHANLIST_URL STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Update system is enabled, but MultiMC_CHANLIST_URL is not set.\n"
|
|
||||||
"Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.")
|
|
||||||
endif()
|
|
||||||
if(MultiMC_VERSION_BUILD LESS 0)
|
|
||||||
message(FATAL_ERROR "Update system is enabled, but MultiMC_VERSION_BUILD is not set.\n"
|
|
||||||
"Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.")
|
|
||||||
endif()
|
|
||||||
message(STATUS "Updater is enabled. Channel list URL: ${MultiMC_CHANLIST_URL}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#### Updater-related build config options ####
|
|
||||||
option(MultiMC_UPDATER_DRY_RUN "Enable updater dry-run mode -- for updater development." OFF)
|
|
||||||
option(MultiMC_UPDATER_FORCE_LOCAL "Do not download updated updater -- for updater development." OFF)
|
|
||||||
|
|
||||||
if(MultiMC_UPDATER_DRY_RUN)
|
|
||||||
set(MultiMC_UPDATER_DRY_RUN_value "true")
|
|
||||||
else()
|
|
||||||
set(MultiMC_UPDATER_DRY_RUN_value "false")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MultiMC_UPDATER_FORCE_LOCAL)
|
|
||||||
set(MultiMC_UPDATER_FORCE_LOCAL_value "true")
|
|
||||||
else()
|
|
||||||
set(MultiMC_UPDATER_FORCE_LOCAL_value "false")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#### For QuickMods
|
|
||||||
option(MultiMC_WEBKIT_INSPECTOR "Enable the QWebInspector for debugging" OFF)
|
|
||||||
if(MultiMC_WEBKIT_INSPECTOR)
|
|
||||||
add_definitions(-DWEBKIT_INSPECTOR)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#### Custom target to just print the version.
|
#### Custom target to just print the version.
|
||||||
add_custom_target(version echo "Version: ${MultiMC_VERSION_STRING}")
|
add_custom_target(version echo "Version: ${MultiMC_VERSION_STRING}")
|
||||||
|
|
||||||
@ -175,40 +84,6 @@ include(GitFunctions)
|
|||||||
git_run(COMMAND rev-parse HEAD DEFAULT "Unknown" OUTPUT_VAR MultiMC_GIT_COMMIT)
|
git_run(COMMAND rev-parse HEAD DEFAULT "Unknown" OUTPUT_VAR MultiMC_GIT_COMMIT)
|
||||||
message(STATUS "Git commit: ${MultiMC_GIT_COMMIT}")
|
message(STATUS "Git commit: ${MultiMC_GIT_COMMIT}")
|
||||||
|
|
||||||
######## Configure header ########
|
|
||||||
configure_file("${PROJECT_SOURCE_DIR}/BuildConfig.cpp.in" "${PROJECT_BINARY_DIR}/BuildConfig.cpp")
|
|
||||||
|
|
||||||
######## Packaging/install paths setup ########
|
|
||||||
|
|
||||||
if(UNIX AND APPLE)
|
|
||||||
set(BINARY_DEST_DIR MultiMC.app/Contents/MacOS)
|
|
||||||
set(PLUGIN_DEST_DIR MultiMC.app/Contents/MacOS)
|
|
||||||
set(QTCONF_DEST_DIR MultiMC.app/Contents/Resources)
|
|
||||||
set(APPS "\${CMAKE_INSTALL_PREFIX}/MultiMC.app")
|
|
||||||
|
|
||||||
set(MACOSX_BUNDLE_BUNDLE_NAME "MultiMC")
|
|
||||||
set(MACOSX_BUNDLE_INFO_STRING "MultiMC Minecraft launcher and management utility.")
|
|
||||||
set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.multimc.MultiMC5")
|
|
||||||
set(MACOSX_BUNDLE_BUNDLE_VERSION "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_HOTFIX}.${MultiMC_VERSION_BUILD}")
|
|
||||||
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_HOTFIX}.${MultiMC_VERSION_BUILD}")
|
|
||||||
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_HOTFIX}.${MultiMC_VERSION_BUILD}")
|
|
||||||
set(MACOSX_BUNDLE_ICON_FILE MultiMC.icns)
|
|
||||||
set(MACOSX_BUNDLE_COPYRIGHT "Copyright 2014 MultiMC Contributors")
|
|
||||||
elseif(UNIX)
|
|
||||||
set(BINARY_DEST_DIR bin)
|
|
||||||
set(PLUGIN_DEST_DIR plugins)
|
|
||||||
set(QTCONF_DEST_DIR .)
|
|
||||||
set(APPS "\${CMAKE_INSTALL_PREFIX}/bin/MultiMC")
|
|
||||||
elseif(WIN32)
|
|
||||||
set(BINARY_DEST_DIR .)
|
|
||||||
set(PLUGIN_DEST_DIR .)
|
|
||||||
set(QTCONF_DEST_DIR .)
|
|
||||||
set(APPS "\${CMAKE_INSTALL_PREFIX}/MultiMC.exe")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# directories to look for dependencies
|
|
||||||
set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR})
|
|
||||||
|
|
||||||
################################ Included Libs ################################
|
################################ Included Libs ################################
|
||||||
|
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
@ -259,660 +134,11 @@ include_directories(${LOGICALGUI_INCLUDE_DIR})
|
|||||||
add_subdirectory(depends/iconfix)
|
add_subdirectory(depends/iconfix)
|
||||||
include_directories(${ICONFIX_INCLUDE_DIR})
|
include_directories(${ICONFIX_INCLUDE_DIR})
|
||||||
|
|
||||||
################################ FILES ################################
|
|
||||||
|
|
||||||
######## Sources and headers ########
|
|
||||||
SET(MULTIMC_SOURCES
|
|
||||||
# Application base
|
|
||||||
MultiMC.h
|
|
||||||
MultiMC.cpp
|
|
||||||
MMCError.h
|
|
||||||
BuildConfig.h
|
|
||||||
${PROJECT_BINARY_DIR}/BuildConfig.cpp
|
|
||||||
|
|
||||||
# GUI - general utilities
|
|
||||||
gui/GuiUtil.h
|
|
||||||
gui/GuiUtil.cpp
|
|
||||||
gui/ColumnResizer.h
|
|
||||||
gui/ColumnResizer.cpp
|
|
||||||
gui/InstanceProxyModel.h
|
|
||||||
gui/InstanceProxyModel.cpp
|
|
||||||
|
|
||||||
# GUI - windows
|
|
||||||
gui/MainWindow.h
|
|
||||||
gui/MainWindow.cpp
|
|
||||||
gui/ConsoleWindow.h
|
|
||||||
gui/ConsoleWindow.cpp
|
|
||||||
|
|
||||||
gui/InstancePageProvider.h
|
|
||||||
gui/InstancePageProvider.cpp
|
|
||||||
|
|
||||||
# GUI - page dialog pages
|
|
||||||
gui/pages/BasePage.h
|
|
||||||
gui/pages/VersionPage.cpp
|
|
||||||
gui/pages/VersionPage.h
|
|
||||||
gui/pages/TexturePackPage.h
|
|
||||||
gui/pages/ResourcePackPage.h
|
|
||||||
gui/pages/ModFolderPage.cpp
|
|
||||||
gui/pages/ModFolderPage.h
|
|
||||||
gui/pages/NotesPage.cpp
|
|
||||||
gui/pages/NotesPage.h
|
|
||||||
gui/pages/LegacyUpgradePage.cpp
|
|
||||||
gui/pages/LegacyUpgradePage.h
|
|
||||||
gui/pages/LegacyJarModPage.cpp
|
|
||||||
gui/pages/LegacyJarModPage.h
|
|
||||||
gui/pages/LogPage.cpp
|
|
||||||
gui/pages/LogPage.h
|
|
||||||
gui/pages/InstanceSettingsPage.cpp
|
|
||||||
gui/pages/InstanceSettingsPage.h
|
|
||||||
gui/pages/ScreenshotsPage.cpp
|
|
||||||
gui/pages/ScreenshotsPage.h
|
|
||||||
gui/pages/OtherLogsPage.cpp
|
|
||||||
gui/pages/OtherLogsPage.h
|
|
||||||
|
|
||||||
# GUI - global settings pages
|
|
||||||
gui/pages/global/AccountListPage.cpp
|
|
||||||
gui/pages/global/AccountListPage.h
|
|
||||||
gui/pages/global/ExternalToolsPage.cpp
|
|
||||||
gui/pages/global/ExternalToolsPage.h
|
|
||||||
gui/pages/global/JavaPage.cpp
|
|
||||||
gui/pages/global/JavaPage.h
|
|
||||||
gui/pages/global/MinecraftPage.cpp
|
|
||||||
gui/pages/global/MinecraftPage.h
|
|
||||||
gui/pages/global/MultiMCPage.cpp
|
|
||||||
gui/pages/global/MultiMCPage.h
|
|
||||||
gui/pages/global/ProxyPage.cpp
|
|
||||||
gui/pages/global/ProxyPage.h
|
|
||||||
|
|
||||||
# GUI - dialogs
|
|
||||||
gui/dialogs/AboutDialog.cpp
|
|
||||||
gui/dialogs/AboutDialog.h
|
|
||||||
gui/dialogs/AccountSelectDialog.cpp
|
|
||||||
gui/dialogs/AccountSelectDialog.h
|
|
||||||
gui/dialogs/CopyInstanceDialog.cpp
|
|
||||||
gui/dialogs/CopyInstanceDialog.h
|
|
||||||
gui/dialogs/CustomMessageBox.cpp
|
|
||||||
gui/dialogs/CustomMessageBox.h
|
|
||||||
gui/dialogs/EditAccountDialog.cpp
|
|
||||||
gui/dialogs/EditAccountDialog.h
|
|
||||||
gui/dialogs/IconPickerDialog.cpp
|
|
||||||
gui/dialogs/IconPickerDialog.h
|
|
||||||
gui/dialogs/LoginDialog.cpp
|
|
||||||
gui/dialogs/LoginDialog.h
|
|
||||||
gui/dialogs/ModEditDialogCommon.cpp
|
|
||||||
gui/dialogs/ModEditDialogCommon.h
|
|
||||||
gui/dialogs/NewInstanceDialog.cpp
|
|
||||||
gui/dialogs/NewInstanceDialog.h
|
|
||||||
gui/dialogs/NotificationDialog.cpp
|
|
||||||
gui/dialogs/NotificationDialog.h
|
|
||||||
gui/pagedialog/PageDialog.cpp
|
|
||||||
gui/pagedialog/PageDialog.h
|
|
||||||
gui/dialogs/ProgressDialog.cpp
|
|
||||||
gui/dialogs/ProgressDialog.h
|
|
||||||
gui/dialogs/UpdateDialog.cpp
|
|
||||||
gui/dialogs/UpdateDialog.h
|
|
||||||
gui/dialogs/VersionSelectDialog.cpp
|
|
||||||
gui/dialogs/VersionSelectDialog.h
|
|
||||||
|
|
||||||
|
|
||||||
# GUI - widgets
|
|
||||||
gui/widgets/Common.cpp
|
|
||||||
gui/widgets/Common.h
|
|
||||||
gui/widgets/IconLabel.cpp
|
|
||||||
gui/widgets/IconLabel.h
|
|
||||||
gui/widgets/LabeledToolButton.cpp
|
|
||||||
gui/widgets/LabeledToolButton.h
|
|
||||||
gui/widgets/LineSeparator.cpp
|
|
||||||
gui/widgets/LineSeparator.h
|
|
||||||
gui/widgets/MCModInfoFrame.cpp
|
|
||||||
gui/widgets/MCModInfoFrame.h
|
|
||||||
gui/widgets/ModListView.cpp
|
|
||||||
gui/widgets/ModListView.h
|
|
||||||
gui/widgets/PageContainer.cpp
|
|
||||||
gui/widgets/PageContainer.h
|
|
||||||
gui/widgets/PageContainer_p.h
|
|
||||||
gui/widgets/ServerStatus.cpp
|
|
||||||
gui/widgets/ServerStatus.h
|
|
||||||
gui/widgets/VersionListView.cpp
|
|
||||||
gui/widgets/VersionListView.h
|
|
||||||
|
|
||||||
|
|
||||||
# GUI - instance group view
|
|
||||||
gui/groupview/GroupedProxyModel.cpp
|
|
||||||
gui/groupview/GroupedProxyModel.h
|
|
||||||
gui/groupview/GroupView.cpp
|
|
||||||
gui/groupview/GroupView.h
|
|
||||||
gui/groupview/InstanceDelegate.cpp
|
|
||||||
gui/groupview/InstanceDelegate.h
|
|
||||||
gui/groupview/VisualGroup.cpp
|
|
||||||
gui/groupview/VisualGroup.h
|
|
||||||
|
|
||||||
# LOGIC - Base classes and infrastructure
|
|
||||||
logic/BaseVersion.h
|
|
||||||
logic/BaseProcess.h
|
|
||||||
logic/BaseProcess.cpp
|
|
||||||
logic/BaseInstance.h
|
|
||||||
logic/BaseInstance.cpp
|
|
||||||
logic/minecraft/Mod.h
|
|
||||||
logic/minecraft/Mod.cpp
|
|
||||||
logic/minecraft/ModList.h
|
|
||||||
logic/minecraft/ModList.cpp
|
|
||||||
|
|
||||||
# sets and maps for deciding based on versions
|
|
||||||
logic/minecraft/VersionFilterData.h
|
|
||||||
logic/minecraft/VersionFilterData.cpp
|
|
||||||
|
|
||||||
# Annoying nag screen logic
|
|
||||||
gui/NagUtils.h
|
|
||||||
gui/NagUtils.cpp
|
|
||||||
|
|
||||||
# Player skin utilities
|
|
||||||
logic/minecraft/SkinUtils.h
|
|
||||||
logic/minecraft/SkinUtils.cpp
|
|
||||||
|
|
||||||
# misc model filter
|
|
||||||
|
|
||||||
# JSON parsing helpers
|
|
||||||
logic/MMCJson.h
|
|
||||||
logic/MMCJson.cpp
|
|
||||||
|
|
||||||
# RW lock protected map
|
|
||||||
logic/RWStorage.h
|
|
||||||
|
|
||||||
# A variable that has an implicit default value and keeps track of changes
|
|
||||||
logic/DefaultVariable.h
|
|
||||||
|
|
||||||
# network stuffs
|
|
||||||
logic/Env.h
|
|
||||||
logic/Env.cpp
|
|
||||||
logic/net/NetAction.h
|
|
||||||
logic/net/MD5EtagDownload.h
|
|
||||||
logic/net/MD5EtagDownload.cpp
|
|
||||||
logic/net/ByteArrayDownload.h
|
|
||||||
logic/net/ByteArrayDownload.cpp
|
|
||||||
logic/net/CacheDownload.h
|
|
||||||
logic/net/CacheDownload.cpp
|
|
||||||
logic/net/NetJob.h
|
|
||||||
logic/net/NetJob.cpp
|
|
||||||
logic/net/HttpMetaCache.h
|
|
||||||
logic/net/HttpMetaCache.cpp
|
|
||||||
logic/net/PasteUpload.h
|
|
||||||
logic/net/PasteUpload.cpp
|
|
||||||
logic/net/URLConstants.h
|
|
||||||
logic/net/URLConstants.cpp
|
|
||||||
|
|
||||||
# Yggdrasil login stuff
|
|
||||||
logic/auth/AuthSession.h
|
|
||||||
logic/auth/AuthSession.cpp
|
|
||||||
logic/auth/MojangAccountList.h
|
|
||||||
logic/auth/MojangAccountList.cpp
|
|
||||||
logic/auth/MojangAccount.h
|
|
||||||
logic/auth/MojangAccount.cpp
|
|
||||||
logic/auth/YggdrasilTask.h
|
|
||||||
logic/auth/YggdrasilTask.cpp
|
|
||||||
logic/auth/flows/AuthenticateTask.h
|
|
||||||
logic/auth/flows/AuthenticateTask.cpp
|
|
||||||
logic/auth/flows/RefreshTask.cpp
|
|
||||||
logic/auth/flows/RefreshTask.cpp
|
|
||||||
logic/auth/flows/ValidateTask.h
|
|
||||||
logic/auth/flows/ValidateTask.cpp
|
|
||||||
|
|
||||||
# Update system
|
|
||||||
logic/updater/GoUpdate.h
|
|
||||||
logic/updater/GoUpdate.cpp
|
|
||||||
logic/updater/UpdateChecker.h
|
|
||||||
logic/updater/UpdateChecker.cpp
|
|
||||||
logic/updater/DownloadTask.h
|
|
||||||
logic/updater/DownloadTask.cpp
|
|
||||||
|
|
||||||
# Notifications - short warning messages
|
|
||||||
logic/notifications/NotificationChecker.h
|
|
||||||
logic/notifications/NotificationChecker.cpp
|
|
||||||
|
|
||||||
# News System
|
|
||||||
logic/news/NewsChecker.h
|
|
||||||
logic/news/NewsChecker.cpp
|
|
||||||
logic/news/NewsEntry.h
|
|
||||||
logic/news/NewsEntry.cpp
|
|
||||||
|
|
||||||
# Status system
|
|
||||||
logic/status/StatusChecker.h
|
|
||||||
logic/status/StatusChecker.cpp
|
|
||||||
|
|
||||||
# legacy instances
|
|
||||||
logic/minecraft/LegacyInstance.h
|
|
||||||
logic/minecraft/LegacyInstance.cpp
|
|
||||||
logic/minecraft/LegacyUpdate.h
|
|
||||||
logic/minecraft/LegacyUpdate.cpp
|
|
||||||
|
|
||||||
# OneSix instances
|
|
||||||
logic/minecraft/OneSixUpdate.h
|
|
||||||
logic/minecraft/OneSixUpdate.cpp
|
|
||||||
logic/minecraft/OneSixInstance.h
|
|
||||||
logic/minecraft/OneSixInstance.cpp
|
|
||||||
|
|
||||||
# a smart pointer wrapper intended for safer use with Qt signal/slot mechanisms
|
|
||||||
logic/QObjectPtr.h
|
|
||||||
|
|
||||||
# Common utils for instances
|
|
||||||
logic/minecraft/JarUtils.h
|
|
||||||
logic/minecraft/JarUtils.cpp
|
|
||||||
|
|
||||||
# Minecraft support
|
|
||||||
logic/minecraft/GradleSpecifier.h
|
|
||||||
logic/minecraft/MinecraftProfile.cpp
|
|
||||||
logic/minecraft/MinecraftProfile.h
|
|
||||||
logic/minecraft/JarMod.cpp
|
|
||||||
logic/minecraft/JarMod.h
|
|
||||||
logic/minecraft/MinecraftInstance.cpp
|
|
||||||
logic/minecraft/MinecraftInstance.h
|
|
||||||
logic/minecraft/MinecraftProcess.cpp
|
|
||||||
logic/minecraft/MinecraftProcess.h
|
|
||||||
logic/minecraft/MinecraftVersion.cpp
|
|
||||||
logic/minecraft/MinecraftVersion.h
|
|
||||||
logic/minecraft/MinecraftVersionList.cpp
|
|
||||||
logic/minecraft/MinecraftVersionList.h
|
|
||||||
logic/minecraft/NullProfileStrategy.h
|
|
||||||
logic/minecraft/OneSixLibrary.cpp
|
|
||||||
logic/minecraft/OneSixLibrary.h
|
|
||||||
logic/minecraft/OneSixProfileStrategy.cpp
|
|
||||||
logic/minecraft/OneSixProfileStrategy.h
|
|
||||||
logic/minecraft/OneSixRule.cpp
|
|
||||||
logic/minecraft/OneSixRule.h
|
|
||||||
logic/minecraft/OpSys.cpp
|
|
||||||
logic/minecraft/OpSys.h
|
|
||||||
logic/minecraft/ParseUtils.cpp
|
|
||||||
logic/minecraft/ParseUtils.h
|
|
||||||
logic/minecraft/ProfileUtils.cpp
|
|
||||||
logic/minecraft/ProfileUtils.h
|
|
||||||
logic/minecraft/ProfileStrategy.h
|
|
||||||
logic/minecraft/RawLibrary.cpp
|
|
||||||
logic/minecraft/RawLibrary.h
|
|
||||||
logic/minecraft/VersionBuilder.cpp
|
|
||||||
logic/minecraft/VersionBuilder.h
|
|
||||||
logic/minecraft/VersionBuildError.h
|
|
||||||
logic/minecraft/VersionFile.cpp
|
|
||||||
logic/minecraft/VersionFile.h
|
|
||||||
logic/minecraft/ProfilePatch.h
|
|
||||||
logic/minecraft/VersionSource.h
|
|
||||||
|
|
||||||
# A Recursive file system watcher
|
|
||||||
logic/RecursiveFileSystemWatcher.h
|
|
||||||
logic/RecursiveFileSystemWatcher.cpp
|
|
||||||
|
|
||||||
# Various base classes
|
|
||||||
logic/BaseInstaller.h
|
|
||||||
logic/BaseInstaller.cpp
|
|
||||||
logic/BaseVersionList.h
|
|
||||||
logic/BaseVersionList.cpp
|
|
||||||
|
|
||||||
logic/InstanceList.h
|
|
||||||
logic/InstanceList.cpp
|
|
||||||
logic/minecraft/LwjglVersionList.h
|
|
||||||
logic/minecraft/LwjglVersionList.cpp
|
|
||||||
|
|
||||||
# FTB
|
|
||||||
logic/ftb/OneSixFTBInstance.h
|
|
||||||
logic/ftb/OneSixFTBInstance.cpp
|
|
||||||
logic/ftb/LegacyFTBInstance.h
|
|
||||||
logic/ftb/LegacyFTBInstance.cpp
|
|
||||||
logic/ftb/FTBProfileStrategy.h
|
|
||||||
logic/ftb/FTBProfileStrategy.cpp
|
|
||||||
logic/ftb/FTBPlugin.h
|
|
||||||
logic/ftb/FTBPlugin.cpp
|
|
||||||
|
|
||||||
# the screenshots feature
|
|
||||||
logic/screenshots/Screenshot.h
|
|
||||||
logic/screenshots/ImgurUpload.h
|
|
||||||
logic/screenshots/ImgurUpload.cpp
|
|
||||||
logic/screenshots/ImgurAlbumCreation.h
|
|
||||||
logic/screenshots/ImgurAlbumCreation.cpp
|
|
||||||
|
|
||||||
# Icons
|
|
||||||
logic/icons/MMCIcon.h
|
|
||||||
logic/icons/MMCIcon.cpp
|
|
||||||
logic/icons/IconList.h
|
|
||||||
logic/icons/IconList.cpp
|
|
||||||
|
|
||||||
# Tasks
|
|
||||||
logic/tasks/ProgressProvider.h
|
|
||||||
logic/tasks/Task.h
|
|
||||||
logic/tasks/Task.cpp
|
|
||||||
logic/tasks/ThreadTask.h
|
|
||||||
logic/tasks/ThreadTask.cpp
|
|
||||||
logic/tasks/SequentialTask.h
|
|
||||||
logic/tasks/SequentialTask.cpp
|
|
||||||
|
|
||||||
# Settings
|
|
||||||
logic/settings/INIFile.cpp
|
|
||||||
logic/settings/INIFile.h
|
|
||||||
logic/settings/INISettingsObject.cpp
|
|
||||||
logic/settings/INISettingsObject.h
|
|
||||||
logic/settings/OverrideSetting.cpp
|
|
||||||
logic/settings/OverrideSetting.h
|
|
||||||
logic/settings/Setting.cpp
|
|
||||||
logic/settings/Setting.h
|
|
||||||
logic/settings/SettingsObject.cpp
|
|
||||||
logic/settings/SettingsObject.h
|
|
||||||
|
|
||||||
# Java related code
|
|
||||||
logic/java/JavaChecker.h
|
|
||||||
logic/java/JavaChecker.cpp
|
|
||||||
logic/java/JavaUtils.h
|
|
||||||
logic/java/JavaUtils.cpp
|
|
||||||
logic/java/JavaVersionList.h
|
|
||||||
logic/java/JavaVersionList.cpp
|
|
||||||
logic/java/JavaCheckerJob.h
|
|
||||||
logic/java/JavaCheckerJob.cpp
|
|
||||||
|
|
||||||
# Assets
|
|
||||||
logic/minecraft/AssetsUtils.h
|
|
||||||
logic/minecraft/AssetsUtils.cpp
|
|
||||||
|
|
||||||
# Tools
|
|
||||||
logic/tools/BaseExternalTool.h
|
|
||||||
logic/tools/BaseExternalTool.cpp
|
|
||||||
logic/tools/MCEditTool.h
|
|
||||||
logic/tools/MCEditTool.cpp
|
|
||||||
logic/tools/BaseProfiler.h
|
|
||||||
logic/tools/BaseProfiler.cpp
|
|
||||||
logic/tools/JProfiler.h
|
|
||||||
logic/tools/JProfiler.cpp
|
|
||||||
logic/tools/JVisualVM.h
|
|
||||||
logic/tools/JVisualVM.cpp
|
|
||||||
|
|
||||||
# Forge and all things forge related
|
|
||||||
logic/forge/ForgeVersion.h
|
|
||||||
logic/forge/ForgeVersion.cpp
|
|
||||||
logic/forge/ForgeVersionList.h
|
|
||||||
logic/forge/ForgeVersionList.cpp
|
|
||||||
logic/forge/ForgeMirror.h
|
|
||||||
logic/forge/ForgeMirrors.h
|
|
||||||
logic/forge/ForgeMirrors.cpp
|
|
||||||
logic/forge/ForgeXzDownload.h
|
|
||||||
logic/forge/ForgeXzDownload.cpp
|
|
||||||
logic/forge/LegacyForge.h
|
|
||||||
logic/forge/LegacyForge.cpp
|
|
||||||
logic/forge/ForgeInstaller.h
|
|
||||||
logic/forge/ForgeInstaller.cpp
|
|
||||||
|
|
||||||
# Liteloader and related things
|
|
||||||
logic/liteloader/LiteLoaderInstaller.h
|
|
||||||
logic/liteloader/LiteLoaderInstaller.cpp
|
|
||||||
logic/liteloader/LiteLoaderVersionList.h
|
|
||||||
logic/liteloader/LiteLoaderVersionList.cpp
|
|
||||||
|
|
||||||
# Translations
|
|
||||||
logic/trans/TranslationDownloader.h
|
|
||||||
logic/trans/TranslationDownloader.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
######## UIs ########
|
|
||||||
SET(MULTIMC_UIS
|
|
||||||
# Option pages
|
|
||||||
gui/pages/VersionPage.ui
|
|
||||||
gui/pages/ModFolderPage.ui
|
|
||||||
gui/pages/LegacyUpgradePage.ui
|
|
||||||
gui/pages/LegacyJarModPage.ui
|
|
||||||
gui/pages/LogPage.ui
|
|
||||||
gui/pages/InstanceSettingsPage.ui
|
|
||||||
gui/pages/NotesPage.ui
|
|
||||||
gui/pages/ScreenshotsPage.ui
|
|
||||||
gui/pages/OtherLogsPage.ui
|
|
||||||
|
|
||||||
# Global settings pages
|
|
||||||
gui/pages/global/AccountListPage.ui
|
|
||||||
gui/pages/global/ExternalToolsPage.ui
|
|
||||||
gui/pages/global/JavaPage.ui
|
|
||||||
gui/pages/global/MinecraftPage.ui
|
|
||||||
gui/pages/global/MultiMCPage.ui
|
|
||||||
gui/pages/global/ProxyPage.ui
|
|
||||||
|
|
||||||
# Dialogs
|
|
||||||
gui/dialogs/CopyInstanceDialog.ui
|
|
||||||
gui/dialogs/NewInstanceDialog.ui
|
|
||||||
gui/dialogs/AboutDialog.ui
|
|
||||||
gui/dialogs/VersionSelectDialog.ui
|
|
||||||
gui/dialogs/ProgressDialog.ui
|
|
||||||
gui/dialogs/IconPickerDialog.ui
|
|
||||||
gui/dialogs/AccountSelectDialog.ui
|
|
||||||
gui/dialogs/EditAccountDialog.ui
|
|
||||||
gui/dialogs/LoginDialog.ui
|
|
||||||
gui/dialogs/UpdateDialog.ui
|
|
||||||
gui/dialogs/NotificationDialog.ui
|
|
||||||
|
|
||||||
# Widgets/other
|
|
||||||
gui/widgets/MCModInfoFrame.ui
|
|
||||||
)
|
|
||||||
|
|
||||||
set(FILES_TO_TRANSLATE)
|
|
||||||
foreach(file ${MULTIMC_SOURCES})
|
|
||||||
get_filename_component(absfile "${file}" ABSOLUTE)
|
|
||||||
list(APPEND FILES_TO_TRANSLATE "${absfile}")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
foreach(file ${MULTIMC_UIS})
|
|
||||||
get_filename_component(absfile "${file}" ABSOLUTE)
|
|
||||||
list(APPEND FILES_TO_TRANSLATE "${absfile}")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
set(MULTIMC_QRCS
|
|
||||||
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/instances/instances.qrc
|
|
||||||
resources/versions/versions.qrc
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
######## Windows resource files ########
|
|
||||||
if(WIN32)
|
|
||||||
set(MULTIMC_RCS resources/multimc.rc)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
####### X11 Stuff #######
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
find_package(Qt5X11Extras REQUIRED)
|
|
||||||
set(MultiMC_LINK_ADDITIONAL_LIBS ${MultiMC_LINK_ADDITIONAL_LIBS} Qt5::X11Extras)
|
|
||||||
set(MultiMC_LINK_ADDITIONAL_LIBS ${MultiMC_LINK_ADDITIONAL_LIBS} xcb)
|
|
||||||
list(APPEND MULTIMC_SOURCES gui/Platform_X11.cpp)
|
|
||||||
else()
|
|
||||||
list(APPEND MULTIMC_SOURCES gui/Platform_Other.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
################################ COMPILE ################################
|
|
||||||
|
|
||||||
# Link additional libraries
|
|
||||||
if(WIN32)
|
|
||||||
set(MultiMC_LINK_ADDITIONAL_LIBS ${MultiMC_LINK_ADDITIONAL_LIBS} Qt5::WinMain)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
||||||
# Tell CMake that MultiMCLauncher.jar is generated.
|
|
||||||
#SET_SOURCE_FILES_PROPERTIES(${PROJECT_BINARY_DIR}/depends/launcher/MultiMCLauncher.jar GENERATED)
|
|
||||||
#SET_SOURCE_FILES_PROPERTIES(${PROJECT_BINARY_DIR}/depends/javacheck/JavaCheck.jar GENERATED)
|
|
||||||
|
|
||||||
# Qt 5 stuff
|
|
||||||
qt5_wrap_ui(MULTIMC_UI ${MULTIMC_UIS})
|
|
||||||
qt5_add_resources(MULTIMC_RESOURCES ${MULTIMC_QRCS})
|
|
||||||
|
|
||||||
# Add common library
|
|
||||||
add_library(MultiMC_common STATIC ${MULTIMC_SOURCES} ${MULTIMC_UI} ${MULTIMC_RESOURCES})
|
|
||||||
|
|
||||||
# Add executable
|
|
||||||
add_executable(MultiMC MACOSX_BUNDLE WIN32 main.cpp ${MULTIMC_RCS})
|
|
||||||
|
|
||||||
# Link
|
|
||||||
target_link_libraries(MultiMC MultiMC_common)
|
|
||||||
|
|
||||||
target_link_libraries(MultiMC_common xz-embedded unpack200 iconfix libUtil LogicalGui
|
|
||||||
${QUAZIP_LIBRARIES} Qt5::Core Qt5::Xml Qt5::Widgets Qt5::Network Qt5::Concurrent Qt5::WebKitWidgets
|
|
||||||
${MultiMC_LINK_ADDITIONAL_LIBS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(MultiMC_common Qt5::Core Qt5::Widgets Qt5::Network Qt5::Concurrent Qt5::WebKitWidgets
|
|
||||||
${MultiMC_LINK_ADDITIONAL_LIBS}
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(MultiMC_common QuaZIP)
|
|
||||||
|
|
||||||
################################ INSTALLATION AND PACKAGING ################################
|
|
||||||
|
|
||||||
######## Install ########
|
|
||||||
|
|
||||||
#### Executable ####
|
|
||||||
if(APPLE AND UNIX) ## OSX
|
|
||||||
install(TARGETS MultiMC
|
|
||||||
BUNDLE DESTINATION . COMPONENT Runtime
|
|
||||||
RUNTIME DESTINATION MultiMC.app/Contents/MacOS COMPONENT Runtime
|
|
||||||
)
|
|
||||||
|
|
||||||
elseif(UNIX) ## LINUX and similar
|
|
||||||
install(TARGETS MultiMC
|
|
||||||
BUNDLE DESTINATION . COMPONENT Runtime
|
|
||||||
RUNTIME DESTINATION bin COMPONENT Runtime
|
|
||||||
)
|
|
||||||
install(PROGRAMS package/linux/MultiMC DESTINATION .)
|
|
||||||
|
|
||||||
elseif(WIN32) ## WINDOWS
|
|
||||||
install(TARGETS MultiMC
|
|
||||||
BUNDLE DESTINATION . COMPONENT Runtime
|
|
||||||
LIBRARY DESTINATION . COMPONENT Runtime
|
|
||||||
RUNTIME DESTINATION . COMPONENT Runtime
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#### Dist package logic ####
|
|
||||||
|
|
||||||
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
|
|
||||||
)
|
|
||||||
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
|
|
||||||
)
|
|
||||||
# Icon engines
|
|
||||||
install(
|
|
||||||
DIRECTORY "${QT_PLUGINS_DIR}/iconengines"
|
|
||||||
DESTINATION ${PLUGIN_DEST_DIR}
|
|
||||||
COMPONENT Runtime
|
|
||||||
REGEX "fontawesome" EXCLUDE
|
|
||||||
REGEX "d\\." EXCLUDE
|
|
||||||
REGEX "_debug\\." 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
|
|
||||||
)
|
|
||||||
if(APPLE)
|
|
||||||
# Accessible plugin to make buttons look decent on osx
|
|
||||||
install(
|
|
||||||
DIRECTORY "${QT_PLUGINS_DIR}/accessible"
|
|
||||||
DESTINATION ${PLUGIN_DEST_DIR}
|
|
||||||
COMPONENT Runtime
|
|
||||||
REGEX "quick" EXCLUDE
|
|
||||||
REGEX "d\\." EXCLUDE
|
|
||||||
REGEX "_debug\\." EXCLUDE
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# qtconf
|
|
||||||
install(
|
|
||||||
CODE "
|
|
||||||
file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${QTCONF_DEST_DIR}/qt.conf\" \"\")
|
|
||||||
"
|
|
||||||
COMPONENT Runtime
|
|
||||||
)
|
|
||||||
|
|
||||||
# ICNS file for OS X
|
|
||||||
if(APPLE)
|
|
||||||
install(FILES resources/MultiMC.icns DESTINATION MultiMC.app/Contents/Resources)
|
|
||||||
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)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
######## Package ########
|
|
||||||
|
|
||||||
# Package with CPack
|
|
||||||
if(UNIX)
|
|
||||||
if(APPLE)
|
|
||||||
set(CPACK_GENERATOR "ZIP")
|
|
||||||
else()
|
|
||||||
set(CPACK_GENERATOR "TGZ")
|
|
||||||
endif()
|
|
||||||
elseif(WIN32)
|
|
||||||
set(CPACK_GENERATOR "ZIP")
|
|
||||||
endif()
|
|
||||||
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)
|
|
||||||
|
|
||||||
set(CPACK_PACKAGE_NAME "MultiMC 5")
|
|
||||||
set(CPACK_PACKAGE_VENDOR "")
|
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MultiMC - Minecraft launcher and management tool.")
|
|
||||||
set(CPACK_PACKAGE_VERSION "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_REV}.${MultiMC_VERSION_BUILD}")
|
|
||||||
set(CPACK_PACKAGE_VERSION_MAJOR ${MultiMC_VERSION_MAJOR})
|
|
||||||
set(CPACK_PACKAGE_VERSION_MINOR ${MultiMC_VERSION_MINOR})
|
|
||||||
set(CPACK_PACKAGE_VERSION_PATCH ${MultiMC_VERSION_REV})
|
|
||||||
|
|
||||||
if(CPACK_GENERATOR STREQUAL "NSIS")
|
|
||||||
set(CPACK_PACKAGE_FILE_NAME "Setup-MultiMC")
|
|
||||||
else()
|
|
||||||
set(CPACK_PACKAGE_FILE_NAME "MultiMC")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "MultiMC 5")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(CPack)
|
|
||||||
|
|
||||||
include(Coverity)
|
include(Coverity)
|
||||||
|
|
||||||
# Translations
|
|
||||||
add_subdirectory(translations)
|
|
||||||
|
|
||||||
# Tests
|
# Tests
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
|
|
||||||
|
add_subdirectory(logic)
|
||||||
|
|
||||||
|
add_subdirectory(application)
|
||||||
|
473
application/CMakeLists.txt
Normal file
473
application/CMakeLists.txt
Normal file
@ -0,0 +1,473 @@
|
|||||||
|
project(MultiMC-Application)
|
||||||
|
|
||||||
|
######## Set URLs ########
|
||||||
|
set(MultiMC_NEWS_RSS_URL "http://multimc.org/rss.xml" CACHE STRING "URL to fetch MultiMC's news RSS feed from.")
|
||||||
|
|
||||||
|
######## Set version numbers ########
|
||||||
|
set(MultiMC_VERSION_MAJOR 0)
|
||||||
|
set(MultiMC_VERSION_MINOR 4)
|
||||||
|
set(MultiMC_VERSION_HOTFIX 5)
|
||||||
|
|
||||||
|
# Build number
|
||||||
|
set(MultiMC_VERSION_BUILD -1 CACHE STRING "Build number. -1 for no build number.")
|
||||||
|
|
||||||
|
# Version type
|
||||||
|
set(MultiMC_VERSION_TYPE "Custom" CACHE STRING "MultiMC's version type. This should be one of 'Custom', 'Release', 'ReleaseCandidate', or 'Development', depending on what type of version this is.")
|
||||||
|
|
||||||
|
# Build platform.
|
||||||
|
set(MultiMC_BUILD_PLATFORM "" CACHE STRING "A short string identifying the platform that this build was built for. Only used by the notification system and to display in the about dialog.")
|
||||||
|
|
||||||
|
# Version channel
|
||||||
|
set(MultiMC_VERSION_CHANNEL "" CACHE STRING "The current build's channel. Included in the version string.")
|
||||||
|
|
||||||
|
# Channel list URL
|
||||||
|
set(MultiMC_CHANLIST_URL "" CACHE STRING "URL for the channel list.")
|
||||||
|
|
||||||
|
# Updater enabled?
|
||||||
|
set(MultiMC_UPDATER false CACHE BOOL "Whether or not the update system is enabled. If this is enabled, you must also set MultiMC_CHANLIST_URL and MultiMC_VERSION_CHANNEL in order for it to work properly.")
|
||||||
|
|
||||||
|
# Notification URL
|
||||||
|
set(MultiMC_NOTIFICATION_URL "" CACHE STRING "URL for checking for notifications.")
|
||||||
|
|
||||||
|
set(MultiMC_RELEASE_VERSION_NAME "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}")
|
||||||
|
if(MultiMC_VERSION_HOTFIX GREATER 0)
|
||||||
|
set(MultiMC_RELEASE_VERSION_NAME "${MultiMC_RELEASE_VERSION_NAME}.${MultiMC_VERSION_HOTFIX}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Build a version string to display in the configure logs.
|
||||||
|
if(MultiMC_VERSION_TYPE STREQUAL "Custom")
|
||||||
|
message(STATUS "Version Type: Custom")
|
||||||
|
set(MultiMC_VERSION_STRING "${MultiMC_RELEASE_VERSION_NAME}")
|
||||||
|
elseif(MultiMC_VERSION_TYPE STREQUAL "Release")
|
||||||
|
message(STATUS "Version Type: Stable Release")
|
||||||
|
set(MultiMC_VERSION_STRING "${MultiMC_RELEASE_VERSION_NAME}")
|
||||||
|
elseif(MultiMC_VERSION_TYPE STREQUAL "Development")
|
||||||
|
message(STATUS "Version Type: Development")
|
||||||
|
set(MultiMC_VERSION_STRING "${MultiMC_RELEASE_VERSION_NAME}-dev${MultiMC_VERSION_BUILD}")
|
||||||
|
else()
|
||||||
|
message(ERROR "Invalid build type.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message(STATUS "MultiMC 5 Version: ${MultiMC_VERSION_STRING}")
|
||||||
|
|
||||||
|
# If the update system is enabled, make sure MultiMC_CHANLIST_URL and MultiMC_VERSION_CHANNEL are set.
|
||||||
|
if(MultiMC_UPDATER)
|
||||||
|
if(MultiMC_VERSION_CHANNEL STREQUAL "")
|
||||||
|
message(FATAL_ERROR "Update system is enabled, but MultiMC_VERSION_CHANNEL is not set.\n"
|
||||||
|
"Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.")
|
||||||
|
endif()
|
||||||
|
if(MultiMC_CHANLIST_URL STREQUAL "")
|
||||||
|
message(FATAL_ERROR "Update system is enabled, but MultiMC_CHANLIST_URL is not set.\n"
|
||||||
|
"Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.")
|
||||||
|
endif()
|
||||||
|
if(MultiMC_VERSION_BUILD LESS 0)
|
||||||
|
message(FATAL_ERROR "Update system is enabled, but MultiMC_VERSION_BUILD is not set.\n"
|
||||||
|
"Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.")
|
||||||
|
endif()
|
||||||
|
message(STATUS "Updater is enabled. Channel list URL: ${MultiMC_CHANLIST_URL}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#### Updater-related build config options ####
|
||||||
|
option(MultiMC_UPDATER_DRY_RUN "Enable updater dry-run mode -- for updater development." OFF)
|
||||||
|
option(MultiMC_UPDATER_FORCE_LOCAL "Do not download updated updater -- for updater development." OFF)
|
||||||
|
|
||||||
|
if(MultiMC_UPDATER_DRY_RUN)
|
||||||
|
set(MultiMC_UPDATER_DRY_RUN_value "true")
|
||||||
|
else()
|
||||||
|
set(MultiMC_UPDATER_DRY_RUN_value "false")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(MultiMC_UPDATER_FORCE_LOCAL)
|
||||||
|
set(MultiMC_UPDATER_FORCE_LOCAL_value "true")
|
||||||
|
else()
|
||||||
|
set(MultiMC_UPDATER_FORCE_LOCAL_value "false")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
######## Configure header ########
|
||||||
|
configure_file("${PROJECT_SOURCE_DIR}/BuildConfig.cpp.in" "${PROJECT_BINARY_DIR}/BuildConfig.cpp")
|
||||||
|
|
||||||
|
######## Packaging/install paths setup ########
|
||||||
|
|
||||||
|
if(UNIX AND APPLE)
|
||||||
|
set(BINARY_DEST_DIR MultiMC.app/Contents/MacOS)
|
||||||
|
set(PLUGIN_DEST_DIR MultiMC.app/Contents/MacOS)
|
||||||
|
set(QTCONF_DEST_DIR MultiMC.app/Contents/Resources)
|
||||||
|
set(APPS "\${CMAKE_INSTALL_PREFIX}/MultiMC.app")
|
||||||
|
|
||||||
|
set(MACOSX_BUNDLE_BUNDLE_NAME "MultiMC")
|
||||||
|
set(MACOSX_BUNDLE_INFO_STRING "MultiMC Minecraft launcher and management utility.")
|
||||||
|
set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.multimc.MultiMC5")
|
||||||
|
set(MACOSX_BUNDLE_BUNDLE_VERSION "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_HOTFIX}.${MultiMC_VERSION_BUILD}")
|
||||||
|
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_HOTFIX}.${MultiMC_VERSION_BUILD}")
|
||||||
|
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_HOTFIX}.${MultiMC_VERSION_BUILD}")
|
||||||
|
set(MACOSX_BUNDLE_ICON_FILE MultiMC.icns)
|
||||||
|
set(MACOSX_BUNDLE_COPYRIGHT "Copyright 2014 MultiMC Contributors")
|
||||||
|
elseif(UNIX)
|
||||||
|
set(BINARY_DEST_DIR bin)
|
||||||
|
set(PLUGIN_DEST_DIR plugins)
|
||||||
|
set(QTCONF_DEST_DIR .)
|
||||||
|
set(APPS "\${CMAKE_INSTALL_PREFIX}/bin/MultiMC")
|
||||||
|
elseif(WIN32)
|
||||||
|
set(BINARY_DEST_DIR .)
|
||||||
|
set(PLUGIN_DEST_DIR .)
|
||||||
|
set(QTCONF_DEST_DIR .)
|
||||||
|
set(APPS "\${CMAKE_INSTALL_PREFIX}/MultiMC.exe")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# directories to look for dependencies
|
||||||
|
set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR})
|
||||||
|
|
||||||
|
################################ FILES ################################
|
||||||
|
|
||||||
|
######## Sources and headers ########
|
||||||
|
SET(MULTIMC_SOURCES
|
||||||
|
# Application base
|
||||||
|
main.cpp
|
||||||
|
MultiMC.h
|
||||||
|
MultiMC.cpp
|
||||||
|
BuildConfig.h
|
||||||
|
${PROJECT_BINARY_DIR}/BuildConfig.cpp
|
||||||
|
|
||||||
|
# GUI - general utilities
|
||||||
|
GuiUtil.h
|
||||||
|
GuiUtil.cpp
|
||||||
|
ColumnResizer.h
|
||||||
|
ColumnResizer.cpp
|
||||||
|
InstanceProxyModel.h
|
||||||
|
InstanceProxyModel.cpp
|
||||||
|
|
||||||
|
# GUI - windows
|
||||||
|
MainWindow.h
|
||||||
|
MainWindow.cpp
|
||||||
|
ConsoleWindow.h
|
||||||
|
ConsoleWindow.cpp
|
||||||
|
|
||||||
|
# page provider for instances
|
||||||
|
InstancePageProvider.h
|
||||||
|
InstancePageProvider.cpp
|
||||||
|
|
||||||
|
# Annoying nag screen logic
|
||||||
|
NagUtils.h
|
||||||
|
NagUtils.cpp
|
||||||
|
|
||||||
|
|
||||||
|
# GUI - page dialog pages
|
||||||
|
pages/BasePage.h
|
||||||
|
pages/VersionPage.cpp
|
||||||
|
pages/VersionPage.h
|
||||||
|
pages/TexturePackPage.h
|
||||||
|
pages/ResourcePackPage.h
|
||||||
|
pages/ModFolderPage.cpp
|
||||||
|
pages/ModFolderPage.h
|
||||||
|
pages/NotesPage.cpp
|
||||||
|
pages/NotesPage.h
|
||||||
|
pages/LogPage.cpp
|
||||||
|
pages/LogPage.h
|
||||||
|
pages/InstanceSettingsPage.cpp
|
||||||
|
pages/InstanceSettingsPage.h
|
||||||
|
pages/ScreenshotsPage.cpp
|
||||||
|
pages/ScreenshotsPage.h
|
||||||
|
pages/OtherLogsPage.cpp
|
||||||
|
pages/OtherLogsPage.h
|
||||||
|
|
||||||
|
# GUI - global settings pages
|
||||||
|
pages/global/AccountListPage.cpp
|
||||||
|
pages/global/AccountListPage.h
|
||||||
|
pages/global/ExternalToolsPage.cpp
|
||||||
|
pages/global/ExternalToolsPage.h
|
||||||
|
pages/global/JavaPage.cpp
|
||||||
|
pages/global/JavaPage.h
|
||||||
|
pages/global/MinecraftPage.cpp
|
||||||
|
pages/global/MinecraftPage.h
|
||||||
|
pages/global/MultiMCPage.cpp
|
||||||
|
pages/global/MultiMCPage.h
|
||||||
|
pages/global/ProxyPage.cpp
|
||||||
|
pages/global/ProxyPage.h
|
||||||
|
|
||||||
|
# GUI - dialogs
|
||||||
|
dialogs/AboutDialog.cpp
|
||||||
|
dialogs/AboutDialog.h
|
||||||
|
dialogs/AccountSelectDialog.cpp
|
||||||
|
dialogs/AccountSelectDialog.h
|
||||||
|
dialogs/CopyInstanceDialog.cpp
|
||||||
|
dialogs/CopyInstanceDialog.h
|
||||||
|
dialogs/CustomMessageBox.cpp
|
||||||
|
dialogs/CustomMessageBox.h
|
||||||
|
dialogs/EditAccountDialog.cpp
|
||||||
|
dialogs/EditAccountDialog.h
|
||||||
|
dialogs/IconPickerDialog.cpp
|
||||||
|
dialogs/IconPickerDialog.h
|
||||||
|
dialogs/LoginDialog.cpp
|
||||||
|
dialogs/LoginDialog.h
|
||||||
|
dialogs/ModEditDialogCommon.cpp
|
||||||
|
dialogs/ModEditDialogCommon.h
|
||||||
|
dialogs/NewInstanceDialog.cpp
|
||||||
|
dialogs/NewInstanceDialog.h
|
||||||
|
dialogs/NotificationDialog.cpp
|
||||||
|
dialogs/NotificationDialog.h
|
||||||
|
pagedialog/PageDialog.cpp
|
||||||
|
pagedialog/PageDialog.h
|
||||||
|
dialogs/ProgressDialog.cpp
|
||||||
|
dialogs/ProgressDialog.h
|
||||||
|
dialogs/UpdateDialog.cpp
|
||||||
|
dialogs/UpdateDialog.h
|
||||||
|
dialogs/VersionSelectDialog.cpp
|
||||||
|
dialogs/VersionSelectDialog.h
|
||||||
|
|
||||||
|
|
||||||
|
# GUI - widgets
|
||||||
|
widgets/Common.cpp
|
||||||
|
widgets/Common.h
|
||||||
|
widgets/IconLabel.cpp
|
||||||
|
widgets/IconLabel.h
|
||||||
|
widgets/LabeledToolButton.cpp
|
||||||
|
widgets/LabeledToolButton.h
|
||||||
|
widgets/LineSeparator.cpp
|
||||||
|
widgets/LineSeparator.h
|
||||||
|
widgets/MCModInfoFrame.cpp
|
||||||
|
widgets/MCModInfoFrame.h
|
||||||
|
widgets/ModListView.cpp
|
||||||
|
widgets/ModListView.h
|
||||||
|
widgets/PageContainer.cpp
|
||||||
|
widgets/PageContainer.h
|
||||||
|
widgets/PageContainer_p.h
|
||||||
|
widgets/ServerStatus.cpp
|
||||||
|
widgets/ServerStatus.h
|
||||||
|
widgets/VersionListView.cpp
|
||||||
|
widgets/VersionListView.h
|
||||||
|
|
||||||
|
|
||||||
|
# GUI - instance group view
|
||||||
|
groupview/GroupedProxyModel.cpp
|
||||||
|
groupview/GroupedProxyModel.h
|
||||||
|
groupview/GroupView.cpp
|
||||||
|
groupview/GroupView.h
|
||||||
|
groupview/InstanceDelegate.cpp
|
||||||
|
groupview/InstanceDelegate.h
|
||||||
|
groupview/VisualGroup.cpp
|
||||||
|
groupview/VisualGroup.h
|
||||||
|
)
|
||||||
|
|
||||||
|
######## UIs ########
|
||||||
|
SET(MULTIMC_UIS
|
||||||
|
# Option pages
|
||||||
|
pages/VersionPage.ui
|
||||||
|
pages/ModFolderPage.ui
|
||||||
|
pages/LogPage.ui
|
||||||
|
pages/InstanceSettingsPage.ui
|
||||||
|
pages/NotesPage.ui
|
||||||
|
pages/ScreenshotsPage.ui
|
||||||
|
pages/OtherLogsPage.ui
|
||||||
|
|
||||||
|
# Global settings pages
|
||||||
|
pages/global/AccountListPage.ui
|
||||||
|
pages/global/ExternalToolsPage.ui
|
||||||
|
pages/global/JavaPage.ui
|
||||||
|
pages/global/MinecraftPage.ui
|
||||||
|
pages/global/MultiMCPage.ui
|
||||||
|
pages/global/ProxyPage.ui
|
||||||
|
|
||||||
|
# Dialogs
|
||||||
|
dialogs/CopyInstanceDialog.ui
|
||||||
|
dialogs/NewInstanceDialog.ui
|
||||||
|
dialogs/AboutDialog.ui
|
||||||
|
dialogs/VersionSelectDialog.ui
|
||||||
|
dialogs/ProgressDialog.ui
|
||||||
|
dialogs/IconPickerDialog.ui
|
||||||
|
dialogs/AccountSelectDialog.ui
|
||||||
|
dialogs/EditAccountDialog.ui
|
||||||
|
dialogs/LoginDialog.ui
|
||||||
|
dialogs/UpdateDialog.ui
|
||||||
|
dialogs/NotificationDialog.ui
|
||||||
|
|
||||||
|
# Widgets/other
|
||||||
|
widgets/MCModInfoFrame.ui
|
||||||
|
)
|
||||||
|
|
||||||
|
set(MULTIMC_QRCS
|
||||||
|
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/instances/instances.qrc
|
||||||
|
resources/versions/versions.qrc
|
||||||
|
)
|
||||||
|
|
||||||
|
######## Windows resource files ########
|
||||||
|
if(WIN32)
|
||||||
|
set(MULTIMC_RCS resources/multimc.rc)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
####### X11 Stuff #######
|
||||||
|
if(UNIX AND NOT APPLE)
|
||||||
|
find_package(Qt5X11Extras REQUIRED)
|
||||||
|
set(MultiMC_LINK_ADDITIONAL_LIBS ${MultiMC_LINK_ADDITIONAL_LIBS} xcb Qt5::X11Extras)
|
||||||
|
list(APPEND MULTIMC_SOURCES Platform_X11.cpp)
|
||||||
|
else()
|
||||||
|
list(APPEND MULTIMC_SOURCES Platform_Other.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# Link additional libraries
|
||||||
|
if(WIN32)
|
||||||
|
set(MultiMC_LINK_ADDITIONAL_LIBS ${MultiMC_LINK_ADDITIONAL_LIBS} Qt5::WinMain)
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
include_directories(../logic)
|
||||||
|
|
||||||
|
# Qt 5 stuff
|
||||||
|
qt5_wrap_ui(MULTIMC_UI ${MULTIMC_UIS})
|
||||||
|
qt5_add_resources(MULTIMC_RESOURCES ${MULTIMC_QRCS})
|
||||||
|
|
||||||
|
# Add executable
|
||||||
|
add_executable(MultiMC MACOSX_BUNDLE WIN32 ${MULTIMC_SOURCES} ${MULTIMC_UI} ${MULTIMC_RESOURCES} ${MULTIMC_RCS})
|
||||||
|
target_link_libraries(MultiMC MultiMC_logic xz-embedded unpack200 iconfix libUtil LogicalGui
|
||||||
|
${QUAZIP_LIBRARIES} Qt5::Core Qt5::Xml Qt5::Widgets Qt5::Network Qt5::Concurrent Qt5::WebKitWidgets
|
||||||
|
${MultiMC_LINK_ADDITIONAL_LIBS})
|
||||||
|
|
||||||
|
################################ INSTALLATION AND PACKAGING ################################
|
||||||
|
|
||||||
|
######## Install ########
|
||||||
|
|
||||||
|
#### Executable ####
|
||||||
|
if(APPLE AND UNIX) ## OSX
|
||||||
|
install(TARGETS MultiMC
|
||||||
|
BUNDLE DESTINATION . COMPONENT Runtime
|
||||||
|
RUNTIME DESTINATION MultiMC.app/Contents/MacOS COMPONENT Runtime
|
||||||
|
)
|
||||||
|
|
||||||
|
elseif(UNIX) ## LINUX and similar
|
||||||
|
install(TARGETS MultiMC
|
||||||
|
BUNDLE DESTINATION . COMPONENT Runtime
|
||||||
|
RUNTIME DESTINATION bin COMPONENT Runtime
|
||||||
|
)
|
||||||
|
install(PROGRAMS package/linux/MultiMC DESTINATION .)
|
||||||
|
|
||||||
|
elseif(WIN32) ## WINDOWS
|
||||||
|
install(TARGETS MultiMC
|
||||||
|
BUNDLE DESTINATION . COMPONENT Runtime
|
||||||
|
LIBRARY DESTINATION . COMPONENT Runtime
|
||||||
|
RUNTIME DESTINATION . COMPONENT Runtime
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#### Java bits ####
|
||||||
|
install_jar(JavaCheck "${BINARY_DEST_DIR}/jars")
|
||||||
|
install_jar(NewLaunch "${BINARY_DEST_DIR}/jars")
|
||||||
|
|
||||||
|
#### Dist package logic ####
|
||||||
|
|
||||||
|
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
|
||||||
|
)
|
||||||
|
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
|
||||||
|
)
|
||||||
|
# Icon engines
|
||||||
|
install(
|
||||||
|
DIRECTORY "${QT_PLUGINS_DIR}/iconengines"
|
||||||
|
DESTINATION ${PLUGIN_DEST_DIR}
|
||||||
|
COMPONENT Runtime
|
||||||
|
REGEX "fontawesome" EXCLUDE
|
||||||
|
REGEX "d\\." EXCLUDE
|
||||||
|
REGEX "_debug\\." 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
|
||||||
|
)
|
||||||
|
if(APPLE)
|
||||||
|
# Accessible plugin to make buttons look decent on osx
|
||||||
|
install(
|
||||||
|
DIRECTORY "${QT_PLUGINS_DIR}/accessible"
|
||||||
|
DESTINATION ${PLUGIN_DEST_DIR}
|
||||||
|
COMPONENT Runtime
|
||||||
|
REGEX "quick" EXCLUDE
|
||||||
|
REGEX "d\\." EXCLUDE
|
||||||
|
REGEX "_debug\\." EXCLUDE
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# qtconf
|
||||||
|
install(
|
||||||
|
CODE "
|
||||||
|
file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${QTCONF_DEST_DIR}/qt.conf\" \"\")
|
||||||
|
"
|
||||||
|
COMPONENT Runtime
|
||||||
|
)
|
||||||
|
|
||||||
|
# ICNS file for OS X
|
||||||
|
if(APPLE)
|
||||||
|
install(FILES resources/MultiMC.icns DESTINATION MultiMC.app/Contents/Resources)
|
||||||
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
######## Package ########
|
||||||
|
|
||||||
|
# Package with CPack
|
||||||
|
if(UNIX)
|
||||||
|
if(APPLE)
|
||||||
|
set(CPACK_GENERATOR "ZIP")
|
||||||
|
else()
|
||||||
|
set(CPACK_GENERATOR "TGZ")
|
||||||
|
endif()
|
||||||
|
elseif(WIN32)
|
||||||
|
set(CPACK_GENERATOR "ZIP")
|
||||||
|
endif()
|
||||||
|
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_NAME "MultiMC 5")
|
||||||
|
set(CPACK_PACKAGE_VENDOR "")
|
||||||
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MultiMC - Minecraft launcher and management tool.")
|
||||||
|
set(CPACK_PACKAGE_VERSION "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_REV}.${MultiMC_VERSION_BUILD}")
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR ${MultiMC_VERSION_MAJOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR ${MultiMC_VERSION_MINOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH ${MultiMC_VERSION_REV})
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_FILE_NAME "MultiMC")
|
||||||
|
|
||||||
|
include(CPack)
|
@ -24,14 +24,14 @@
|
|||||||
#include <qlayoutitem.h>
|
#include <qlayoutitem.h>
|
||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
|
|
||||||
#include <gui/Platform.h>
|
#include <Platform.h>
|
||||||
#include <gui/dialogs/CustomMessageBox.h>
|
#include <dialogs/CustomMessageBox.h>
|
||||||
#include <gui/dialogs/ProgressDialog.h>
|
#include <dialogs/ProgressDialog.h>
|
||||||
#include "widgets/PageContainer.h"
|
#include "widgets/PageContainer.h"
|
||||||
#include "pages/LogPage.h"
|
#include "pages/LogPage.h"
|
||||||
#include "InstancePageProvider.h"
|
#include "InstancePageProvider.h"
|
||||||
|
|
||||||
#include "logic/icons/IconList.h"
|
#include "icons/IconList.h"
|
||||||
|
|
||||||
class LogPageProvider : public BasePageProvider
|
class LogPageProvider : public BasePageProvider
|
||||||
{
|
{
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QSystemTrayIcon>
|
#include <QSystemTrayIcon>
|
||||||
#include "logic/BaseProcess.h"
|
#include "BaseProcess.h"
|
||||||
|
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class PageContainer;
|
class PageContainer;
|
@ -5,7 +5,7 @@
|
|||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
||||||
#include "dialogs/ProgressDialog.h"
|
#include "dialogs/ProgressDialog.h"
|
||||||
#include "logic/net/PasteUpload.h"
|
#include "net/PasteUpload.h"
|
||||||
#include "dialogs/CustomMessageBox.h"
|
#include "dialogs/CustomMessageBox.h"
|
||||||
|
|
||||||
void GuiUtil::uploadPaste(const QString &text, QWidget *parentWidget)
|
void GuiUtil::uploadPaste(const QString &text, QWidget *parentWidget)
|
@ -1,5 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "logic/minecraft/OneSixInstance.h"
|
#include "minecraft/OneSixInstance.h"
|
||||||
#include "pages/BasePage.h"
|
#include "pages/BasePage.h"
|
||||||
#include "pages/VersionPage.h"
|
#include "pages/VersionPage.h"
|
||||||
#include "pages/ModFolderPage.h"
|
#include "pages/ModFolderPage.h"
|
@ -1,6 +1,6 @@
|
|||||||
#include "InstanceProxyModel.h"
|
#include "InstanceProxyModel.h"
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include <logic/BaseInstance.h>
|
#include <BaseInstance.h>
|
||||||
|
|
||||||
InstanceProxyModel::InstanceProxyModel(QObject *parent) : GroupedProxyModel(parent)
|
InstanceProxyModel::InstanceProxyModel(QObject *parent) : GroupedProxyModel(parent)
|
||||||
{
|
{
|
@ -329,69 +329,69 @@ namespace Ui {
|
|||||||
#include "userutils.h"
|
#include "userutils.h"
|
||||||
#include "pathutils.h"
|
#include "pathutils.h"
|
||||||
|
|
||||||
#include "gui/groupview/GroupView.h"
|
#include "groupview/GroupView.h"
|
||||||
#include "gui/groupview/InstanceDelegate.h"
|
#include "groupview/InstanceDelegate.h"
|
||||||
#include "gui/InstanceProxyModel.h"
|
#include "InstanceProxyModel.h"
|
||||||
|
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
|
|
||||||
#include "gui/widgets/LabeledToolButton.h"
|
#include "widgets/LabeledToolButton.h"
|
||||||
#include "widgets/ServerStatus.h"
|
#include "widgets/ServerStatus.h"
|
||||||
|
|
||||||
#include "gui/dialogs/NewInstanceDialog.h"
|
#include "dialogs/NewInstanceDialog.h"
|
||||||
#include "gui/dialogs/ProgressDialog.h"
|
#include "dialogs/ProgressDialog.h"
|
||||||
#include "gui/dialogs/AboutDialog.h"
|
#include "dialogs/AboutDialog.h"
|
||||||
#include "gui/dialogs/VersionSelectDialog.h"
|
#include "dialogs/VersionSelectDialog.h"
|
||||||
#include "gui/dialogs/CustomMessageBox.h"
|
#include "dialogs/CustomMessageBox.h"
|
||||||
#include "gui/dialogs/IconPickerDialog.h"
|
#include "dialogs/IconPickerDialog.h"
|
||||||
#include "gui/dialogs/CopyInstanceDialog.h"
|
#include "dialogs/CopyInstanceDialog.h"
|
||||||
#include "gui/dialogs/AccountSelectDialog.h"
|
#include "dialogs/AccountSelectDialog.h"
|
||||||
#include "gui/dialogs/UpdateDialog.h"
|
#include "dialogs/UpdateDialog.h"
|
||||||
#include "gui/dialogs/EditAccountDialog.h"
|
#include "dialogs/EditAccountDialog.h"
|
||||||
#include "gui/dialogs/NotificationDialog.h"
|
#include "dialogs/NotificationDialog.h"
|
||||||
|
|
||||||
#include "gui/pages/global/MultiMCPage.h"
|
#include "pages/global/MultiMCPage.h"
|
||||||
#include "gui/pages/global/ExternalToolsPage.h"
|
#include "pages/global/ExternalToolsPage.h"
|
||||||
#include "gui/pages/global/AccountListPage.h"
|
#include "pages/global/AccountListPage.h"
|
||||||
#include "gui/pages/global/ProxyPage.h"
|
#include "pages/global/ProxyPage.h"
|
||||||
#include "gui/pages/global/JavaPage.h"
|
#include "pages/global/JavaPage.h"
|
||||||
#include "gui/pages/global/MinecraftPage.h"
|
#include "pages/global/MinecraftPage.h"
|
||||||
|
|
||||||
#include "gui/ConsoleWindow.h"
|
#include "ConsoleWindow.h"
|
||||||
#include "pagedialog/PageDialog.h"
|
#include "pagedialog/PageDialog.h"
|
||||||
|
|
||||||
#include "logic/InstanceList.h"
|
#include "InstanceList.h"
|
||||||
#include "logic/minecraft/MinecraftVersionList.h"
|
#include "minecraft/MinecraftVersionList.h"
|
||||||
#include "logic/minecraft/LwjglVersionList.h"
|
#include "minecraft/LwjglVersionList.h"
|
||||||
#include "logic/icons/IconList.h"
|
#include "icons/IconList.h"
|
||||||
#include "logic/java/JavaVersionList.h"
|
#include "java/JavaVersionList.h"
|
||||||
|
|
||||||
#include "logic/auth/flows/AuthenticateTask.h"
|
#include "auth/flows/AuthenticateTask.h"
|
||||||
#include "logic/auth/flows/RefreshTask.h"
|
#include "auth/flows/RefreshTask.h"
|
||||||
|
|
||||||
#include "logic/updater/DownloadTask.h"
|
#include "updater/DownloadTask.h"
|
||||||
|
|
||||||
#include "logic/news/NewsChecker.h"
|
#include "news/NewsChecker.h"
|
||||||
|
|
||||||
#include "logic/net/URLConstants.h"
|
#include "net/URLConstants.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "logic/Env.h"
|
#include "Env.h"
|
||||||
|
|
||||||
#include "logic/BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
#include "logic/BaseProcess.h"
|
#include "BaseProcess.h"
|
||||||
#include "logic/java/JavaUtils.h"
|
#include "java/JavaUtils.h"
|
||||||
#include "gui/NagUtils.h"
|
#include "NagUtils.h"
|
||||||
#include "InstancePageProvider.h"
|
#include "InstancePageProvider.h"
|
||||||
#include "logic/minecraft/SkinUtils.h"
|
#include "minecraft/SkinUtils.h"
|
||||||
|
|
||||||
//#include "logic/minecraft/LegacyInstance.h"
|
//#include "minecraft/LegacyInstance.h"
|
||||||
|
|
||||||
#include <logic/updater/UpdateChecker.h>
|
#include <updater/UpdateChecker.h>
|
||||||
#include <logic/notifications/NotificationChecker.h>
|
#include <notifications/NotificationChecker.h>
|
||||||
#include <logic/tasks/ThreadTask.h>
|
#include <tasks/ThreadTask.h>
|
||||||
#include "logic/net/CacheDownload.h"
|
#include <net/CacheDownload.h>
|
||||||
|
|
||||||
#include "logic/tools/BaseProfiler.h"
|
#include "tools/BaseProfiler.h"
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
|
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
|
||||||
{
|
{
|
@ -19,10 +19,10 @@
|
|||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
#include "logic/BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
#include "logic/auth/MojangAccount.h"
|
#include "auth/MojangAccount.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "logic/updater/GoUpdate.h"
|
#include "updater/GoUpdate.h"
|
||||||
|
|
||||||
class NewsChecker;
|
class NewsChecker;
|
||||||
class NotificationChecker;
|
class NotificationChecker;
|
@ -12,38 +12,37 @@
|
|||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#include "gui/dialogs/VersionSelectDialog.h"
|
#include "dialogs/VersionSelectDialog.h"
|
||||||
#include "logic/InstanceList.h"
|
#include "InstanceList.h"
|
||||||
#include "logic/auth/MojangAccountList.h"
|
#include "auth/MojangAccountList.h"
|
||||||
#include "logic/icons/IconList.h"
|
#include "icons/IconList.h"
|
||||||
#include "logic/minecraft/LwjglVersionList.h"
|
#include "minecraft/LwjglVersionList.h"
|
||||||
#include "logic/minecraft/MinecraftVersionList.h"
|
#include "minecraft/MinecraftVersionList.h"
|
||||||
#include "logic/liteloader/LiteLoaderVersionList.h"
|
#include "liteloader/LiteLoaderVersionList.h"
|
||||||
|
|
||||||
#include "logic/forge/ForgeVersionList.h"
|
#include "forge/ForgeVersionList.h"
|
||||||
|
|
||||||
#include "logic/net/HttpMetaCache.h"
|
#include "net/HttpMetaCache.h"
|
||||||
#include "logic/net/URLConstants.h"
|
#include "net/URLConstants.h"
|
||||||
#include "logic/Env.h"
|
#include "Env.h"
|
||||||
|
|
||||||
#include "logic/java/JavaUtils.h"
|
#include "java/JavaUtils.h"
|
||||||
|
|
||||||
#include "logic/updater/UpdateChecker.h"
|
#include "updater/UpdateChecker.h"
|
||||||
|
|
||||||
#include "logic/tools/JProfiler.h"
|
#include "tools/JProfiler.h"
|
||||||
#include "logic/tools/JVisualVM.h"
|
#include "tools/JVisualVM.h"
|
||||||
#include "logic/tools/MCEditTool.h"
|
#include "tools/MCEditTool.h"
|
||||||
|
|
||||||
#include "pathutils.h"
|
#include "pathutils.h"
|
||||||
#include "cmdutils.h"
|
#include "cmdutils.h"
|
||||||
#include <xdgicon.h>
|
#include <xdgicon.h>
|
||||||
#include "logic/settings/INISettingsObject.h"
|
#include "settings/INISettingsObject.h"
|
||||||
#include "logic/settings/Setting.h"
|
#include "settings/Setting.h"
|
||||||
|
|
||||||
|
#include "trans/TranslationDownloader.h"
|
||||||
|
|
||||||
#include "logic/trans/TranslationDownloader.h"
|
#include "ftb/FTBPlugin.h"
|
||||||
|
|
||||||
#include "logic/ftb/FTBPlugin.h"
|
|
||||||
|
|
||||||
using namespace Util::Commandline;
|
using namespace Util::Commandline;
|
||||||
|
|
@ -13,8 +13,8 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "gui/NagUtils.h"
|
#include "NagUtils.h"
|
||||||
#include "gui/dialogs/CustomMessageBox.h"
|
#include "dialogs/CustomMessageBox.h"
|
||||||
|
|
||||||
namespace NagUtils
|
namespace NagUtils
|
||||||
{
|
{
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gui/Platform.h>
|
#include <Platform.h>
|
||||||
/**
|
/**
|
||||||
* Stub for non-X11 platforms
|
* Stub for non-X11 platforms
|
||||||
* @brief MultiMCPlatform::fixWM_CLASS
|
* @brief MultiMCPlatform::fixWM_CLASS
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gui/Platform.h>
|
#include <Platform.h>
|
||||||
#include <QtX11Extras/QX11Info>
|
#include <QtX11Extras/QX11Info>
|
||||||
#include <xcb/xcb.h>
|
#include <xcb/xcb.h>
|
||||||
|
|
@ -17,10 +17,10 @@
|
|||||||
#include "ui_AboutDialog.h"
|
#include "ui_AboutDialog.h"
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
#include "BuildConfig.h"
|
#include "BuildConfig.h"
|
||||||
|
|
||||||
#include <logic/net/NetJob.h>
|
#include <net/NetJob.h>
|
||||||
|
|
||||||
// Credits
|
// Credits
|
||||||
// This is a hack, but I can't think of a better way to do this easily without screwing with QTextDocument...
|
// This is a hack, but I can't think of a better way to do this easily without screwing with QTextDocument...
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
||||||
#include <logic/net/ByteArrayDownload.h>
|
#include <net/ByteArrayDownload.h>
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
{
|
{
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#include <gui/dialogs/ProgressDialog.h>
|
#include <dialogs/ProgressDialog.h>
|
||||||
|
|
||||||
#include <MultiMC.h>
|
#include <MultiMC.h>
|
||||||
|
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "logic/auth/MojangAccountList.h"
|
#include "auth/MojangAccountList.h"
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
{
|
{
|
@ -20,16 +20,16 @@
|
|||||||
#include "CopyInstanceDialog.h"
|
#include "CopyInstanceDialog.h"
|
||||||
#include "ui_CopyInstanceDialog.h"
|
#include "ui_CopyInstanceDialog.h"
|
||||||
|
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
#include "gui/dialogs/VersionSelectDialog.h"
|
#include "dialogs/VersionSelectDialog.h"
|
||||||
#include "gui/dialogs/ProgressDialog.h"
|
#include "dialogs/ProgressDialog.h"
|
||||||
#include "gui/dialogs/IconPickerDialog.h"
|
#include "dialogs/IconPickerDialog.h"
|
||||||
|
|
||||||
#include "logic/BaseVersion.h"
|
#include "BaseVersion.h"
|
||||||
#include "logic/icons/IconList.h"
|
#include "icons/IconList.h"
|
||||||
#include "logic/tasks/Task.h"
|
#include "tasks/Task.h"
|
||||||
#include "logic/BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
#include "logic/InstanceList.h"
|
#include "InstanceList.h"
|
||||||
|
|
||||||
CopyInstanceDialog::CopyInstanceDialog(InstancePtr original, QWidget *parent)
|
CopyInstanceDialog::CopyInstanceDialog(InstancePtr original, QWidget *parent)
|
||||||
:QDialog(parent), ui(new Ui::CopyInstanceDialog), m_original(original)
|
:QDialog(parent), ui(new Ui::CopyInstanceDialog), m_original(original)
|
@ -16,8 +16,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include "logic/BaseVersion.h"
|
#include "BaseVersion.h"
|
||||||
#include <logic/BaseInstance.h>
|
#include <BaseInstance.h>
|
||||||
|
|
||||||
class BaseInstance;
|
class BaseInstance;
|
||||||
|
|
@ -22,10 +22,10 @@
|
|||||||
#include "IconPickerDialog.h"
|
#include "IconPickerDialog.h"
|
||||||
#include "ui_IconPickerDialog.h"
|
#include "ui_IconPickerDialog.h"
|
||||||
|
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
#include "gui/groupview/InstanceDelegate.h"
|
#include "groupview/InstanceDelegate.h"
|
||||||
|
|
||||||
#include "logic/icons/IconList.h"
|
#include "icons/IconList.h"
|
||||||
|
|
||||||
IconPickerDialog::IconPickerDialog(QWidget *parent)
|
IconPickerDialog::IconPickerDialog(QWidget *parent)
|
||||||
: QDialog(parent), ui(new Ui::IconPickerDialog)
|
: QDialog(parent), ui(new Ui::IconPickerDialog)
|
@ -16,7 +16,7 @@
|
|||||||
#include "LoginDialog.h"
|
#include "LoginDialog.h"
|
||||||
#include "ui_LoginDialog.h"
|
#include "ui_LoginDialog.h"
|
||||||
|
|
||||||
#include "logic/auth/YggdrasilTask.h"
|
#include "auth/YggdrasilTask.h"
|
||||||
|
|
||||||
#include <QtWidgets/QPushButton>
|
#include <QtWidgets/QPushButton>
|
||||||
|
|
@ -18,7 +18,7 @@
|
|||||||
#include <QtWidgets/QDialog>
|
#include <QtWidgets/QDialog>
|
||||||
#include <QtCore/QEventLoop>
|
#include <QtCore/QEventLoop>
|
||||||
|
|
||||||
#include "logic/auth/MojangAccount.h"
|
#include "auth/MojangAccount.h"
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
{
|
{
|
@ -2,7 +2,7 @@
|
|||||||
#include <QModelIndex>
|
#include <QModelIndex>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <logic/minecraft/Mod.h>
|
#include <minecraft/Mod.h>
|
||||||
|
|
||||||
bool lastfirst(QModelIndexList &list, int &first, int &last);
|
bool lastfirst(QModelIndexList &list, int &first, int &last);
|
||||||
|
|
@ -17,13 +17,13 @@
|
|||||||
#include "NewInstanceDialog.h"
|
#include "NewInstanceDialog.h"
|
||||||
#include "ui_NewInstanceDialog.h"
|
#include "ui_NewInstanceDialog.h"
|
||||||
|
|
||||||
#include "logic/BaseVersion.h"
|
#include <BaseVersion.h>
|
||||||
#include "logic/icons/IconList.h"
|
#include <icons/IconList.h>
|
||||||
#include "logic/minecraft/MinecraftVersionList.h"
|
#include <minecraft/MinecraftVersionList.h>
|
||||||
#include "logic/tasks/Task.h"
|
#include <tasks/Task.h>
|
||||||
#include "logic/InstanceList.h"
|
#include <InstanceList.h>
|
||||||
|
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
#include "VersionSelectDialog.h"
|
#include "VersionSelectDialog.h"
|
||||||
#include "ProgressDialog.h"
|
#include "ProgressDialog.h"
|
||||||
#include "IconPickerDialog.h"
|
#include "IconPickerDialog.h"
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
||||||
#include "logic/BaseVersion.h"
|
#include "BaseVersion.h"
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
{
|
{
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
||||||
#include "logic/notifications/NotificationChecker.h"
|
#include "notifications/NotificationChecker.h"
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class NotificationDialog;
|
class NotificationDialog;
|
@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
|
|
||||||
#include "logic/tasks/Task.h"
|
#include "tasks/Task.h"
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
|
|
||||||
ProgressDialog::ProgressDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ProgressDialog)
|
ProgressDialog::ProgressDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ProgressDialog)
|
||||||
{
|
{
|
@ -1,9 +1,9 @@
|
|||||||
#include "UpdateDialog.h"
|
#include "UpdateDialog.h"
|
||||||
#include "ui_UpdateDialog.h"
|
#include "ui_UpdateDialog.h"
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include <logic/settings/SettingsObject.h>
|
#include <settings/SettingsObject.h>
|
||||||
|
|
||||||
UpdateDialog::UpdateDialog(bool hasUpdate, QWidget *parent) : QDialog(parent), ui(new Ui::UpdateDialog)
|
UpdateDialog::UpdateDialog(bool hasUpdate, QWidget *parent) : QDialog(parent), ui(new Ui::UpdateDialog)
|
||||||
{
|
{
|
@ -16,8 +16,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include "logic/net/ByteArrayDownload.h"
|
#include "net/ByteArrayDownload.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
{
|
{
|
@ -18,13 +18,13 @@
|
|||||||
|
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
|
|
||||||
#include <gui/dialogs/ProgressDialog.h>
|
#include <dialogs/ProgressDialog.h>
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
|
|
||||||
#include <logic/BaseVersion.h>
|
#include <BaseVersion.h>
|
||||||
#include <logic/BaseVersionList.h>
|
#include <BaseVersionList.h>
|
||||||
#include <logic/tasks/Task.h>
|
#include <tasks/Task.h>
|
||||||
#include <depends/util/include/modutils.h>
|
#include <modutils.h>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
class VersionSelectProxyModel : public QSortFilterProxyModel
|
class VersionSelectProxyModel : public QSortFilterProxyModel
|
@ -18,7 +18,7 @@
|
|||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QSortFilterProxyModel>
|
#include <QSortFilterProxyModel>
|
||||||
|
|
||||||
#include "logic/BaseVersion.h"
|
#include "BaseVersion.h"
|
||||||
|
|
||||||
class BaseVersionList;
|
class BaseVersionList;
|
||||||
|
|
@ -69,7 +69,7 @@
|
|||||||
<customwidget>
|
<customwidget>
|
||||||
<class>VersionListView</class>
|
<class>VersionListView</class>
|
||||||
<extends>QTreeView</extends>
|
<extends>QTreeView</extends>
|
||||||
<header>gui/widgets/VersionListView.h</header>
|
<header>widgets/VersionListView.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
@ -21,8 +21,8 @@
|
|||||||
#include <QtMath>
|
#include <QtMath>
|
||||||
|
|
||||||
#include "GroupView.h"
|
#include "GroupView.h"
|
||||||
#include "logic/BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
#include "logic/InstanceList.h"
|
#include "InstanceList.h"
|
||||||
|
|
||||||
QCache<QString, QPixmap> ListViewDelegate::m_pixmapCache;
|
QCache<QString, QPixmap> ListViewDelegate::m_pixmapCache;
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include "gui/MainWindow.h"
|
#include "MainWindow.h"
|
||||||
|
|
||||||
int main_gui(MultiMC &app)
|
int main_gui(MultiMC &app)
|
||||||
{
|
{
|
@ -21,10 +21,10 @@
|
|||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
|
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include "logic/settings/SettingsObject.h"
|
#include "settings/SettingsObject.h"
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
#include "gui/widgets/IconLabel.h"
|
#include "widgets/IconLabel.h"
|
||||||
#include "gui/widgets/PageContainer.h"
|
#include "widgets/PageContainer.h"
|
||||||
|
|
||||||
PageDialog::PageDialog(BasePageProviderPtr pageProvider, QString defaultId, QWidget *parent)
|
PageDialog::PageDialog(BasePageProviderPtr pageProvider, QString defaultId, QWidget *parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
@ -16,7 +16,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include "gui/pages/BasePageProvider.h"
|
#include "pages/BasePageProvider.h"
|
||||||
|
|
||||||
class PageContainer;
|
class PageContainer;
|
||||||
class PageDialog : public QDialog
|
class PageDialog : public QDialog
|
@ -5,9 +5,9 @@
|
|||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
|
||||||
#include "gui/dialogs/VersionSelectDialog.h"
|
#include "dialogs/VersionSelectDialog.h"
|
||||||
#include "gui/NagUtils.h"
|
#include "NagUtils.h"
|
||||||
#include "logic/java/JavaVersionList.h"
|
#include "java/JavaVersionList.h"
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
|
|
||||||
InstanceSettingsPage::InstanceSettingsPage(BaseInstance *inst, QWidget *parent)
|
InstanceSettingsPage::InstanceSettingsPage(BaseInstance *inst, QWidget *parent)
|
@ -17,9 +17,9 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "logic/java/JavaChecker.h"
|
#include "java/JavaChecker.h"
|
||||||
#include "logic/BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
#include "BasePage.h"
|
#include "BasePage.h"
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
|
|
@ -7,8 +7,8 @@
|
|||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QShortcut>
|
#include <QShortcut>
|
||||||
|
|
||||||
#include "logic/BaseProcess.h"
|
#include "BaseProcess.h"
|
||||||
#include "gui/GuiUtil.h"
|
#include "GuiUtil.h"
|
||||||
|
|
||||||
LogPage::LogPage(BaseProcess *proc, QWidget *parent)
|
LogPage::LogPage(BaseProcess *proc, QWidget *parent)
|
||||||
: QWidget(parent), ui(new Ui::LogPage), m_process(proc)
|
: QWidget(parent), ui(new Ui::LogPage), m_process(proc)
|
@ -17,9 +17,9 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
#include "logic/BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "logic/BaseProcess.h"
|
#include "BaseProcess.h"
|
||||||
#include "BasePage.h"
|
#include "BasePage.h"
|
||||||
#include <MultiMC.h>
|
#include <MultiMC.h>
|
||||||
|
|
@ -26,11 +26,11 @@
|
|||||||
#include <pathutils.h>
|
#include <pathutils.h>
|
||||||
|
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include "gui/dialogs/CustomMessageBox.h"
|
#include "dialogs/CustomMessageBox.h"
|
||||||
#include "gui/dialogs/ModEditDialogCommon.h"
|
#include "dialogs/ModEditDialogCommon.h"
|
||||||
#include "logic/minecraft/ModList.h"
|
#include "minecraft/ModList.h"
|
||||||
#include "logic/minecraft/Mod.h"
|
#include "minecraft/Mod.h"
|
||||||
#include "logic/minecraft/VersionFilterData.h"
|
#include "minecraft/VersionFilterData.h"
|
||||||
|
|
||||||
ModFolderPage::ModFolderPage(BaseInstance *inst, std::shared_ptr<ModList> mods, QString id,
|
ModFolderPage::ModFolderPage(BaseInstance *inst, std::shared_ptr<ModList> mods, QString id,
|
||||||
QString iconName, QString displayName, QString helpPage,
|
QString iconName, QString displayName, QString helpPage,
|
@ -17,8 +17,8 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
#include "logic/minecraft/OneSixInstance.h"
|
#include "minecraft/OneSixInstance.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "BasePage.h"
|
#include "BasePage.h"
|
||||||
#include <MultiMC.h>
|
#include <MultiMC.h>
|
||||||
|
|
@ -110,12 +110,12 @@
|
|||||||
<customwidget>
|
<customwidget>
|
||||||
<class>ModListView</class>
|
<class>ModListView</class>
|
||||||
<extends>QTreeView</extends>
|
<extends>QTreeView</extends>
|
||||||
<header>gui/widgets/ModListView.h</header>
|
<header>widgets/ModListView.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>MCModInfoFrame</class>
|
<class>MCModInfoFrame</class>
|
||||||
<extends>QFrame</extends>
|
<extends>QFrame</extends>
|
||||||
<header>gui/widgets/MCModInfoFrame.h</header>
|
<header>widgets/MCModInfoFrame.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
@ -17,8 +17,8 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
#include "logic/BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "BasePage.h"
|
#include "BasePage.h"
|
||||||
#include <MultiMC.h>
|
#include <MultiMC.h>
|
||||||
|
|
@ -19,8 +19,8 @@
|
|||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
|
||||||
#include "gui/GuiUtil.h"
|
#include "GuiUtil.h"
|
||||||
#include "logic/RecursiveFileSystemWatcher.h"
|
#include "RecursiveFileSystemWatcher.h"
|
||||||
#include <pathutils.h>
|
#include <pathutils.h>
|
||||||
|
|
||||||
OtherLogsPage::OtherLogsPage(QString path, QWidget *parent)
|
OtherLogsPage::OtherLogsPage(QString path, QWidget *parent)
|
@ -18,14 +18,14 @@
|
|||||||
#include <pathutils.h>
|
#include <pathutils.h>
|
||||||
#include <MultiMC.h>
|
#include <MultiMC.h>
|
||||||
|
|
||||||
#include "gui/dialogs/ProgressDialog.h"
|
#include "dialogs/ProgressDialog.h"
|
||||||
#include "gui/dialogs/CustomMessageBox.h"
|
#include "dialogs/CustomMessageBox.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "logic/screenshots/ImgurUpload.h"
|
#include "screenshots/ImgurUpload.h"
|
||||||
#include "logic/screenshots/ImgurAlbumCreation.h"
|
#include "screenshots/ImgurAlbumCreation.h"
|
||||||
#include "logic/tasks/SequentialTask.h"
|
#include "tasks/SequentialTask.h"
|
||||||
|
|
||||||
#include "logic/RWStorage.h"
|
#include "RWStorage.h"
|
||||||
|
|
||||||
typedef RWStorage<QString, QIcon> SharedIconCache;
|
typedef RWStorage<QString, QIcon> SharedIconCache;
|
||||||
typedef std::shared_ptr<SharedIconCache> SharedIconCachePtr;
|
typedef std::shared_ptr<SharedIconCache> SharedIconCachePtr;
|
@ -24,12 +24,12 @@
|
|||||||
#include "VersionPage.h"
|
#include "VersionPage.h"
|
||||||
#include "ui_VersionPage.h"
|
#include "ui_VersionPage.h"
|
||||||
|
|
||||||
#include "gui/Platform.h"
|
#include "Platform.h"
|
||||||
#include "gui/dialogs/CustomMessageBox.h"
|
#include "dialogs/CustomMessageBox.h"
|
||||||
#include "gui/dialogs/VersionSelectDialog.h"
|
#include "dialogs/VersionSelectDialog.h"
|
||||||
#include "gui/dialogs/ModEditDialogCommon.h"
|
#include "dialogs/ModEditDialogCommon.h"
|
||||||
|
|
||||||
#include "gui/dialogs/ProgressDialog.h"
|
#include "dialogs/ProgressDialog.h"
|
||||||
|
|
||||||
#include <QAbstractItemModel>
|
#include <QAbstractItemModel>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
@ -37,15 +37,15 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
#include "logic/minecraft/MinecraftProfile.h"
|
#include "minecraft/MinecraftProfile.h"
|
||||||
#include "logic/forge/ForgeVersionList.h"
|
#include "forge/ForgeVersionList.h"
|
||||||
#include "logic/forge/ForgeInstaller.h"
|
#include "forge/ForgeInstaller.h"
|
||||||
#include "logic/liteloader/LiteLoaderVersionList.h"
|
#include "liteloader/LiteLoaderVersionList.h"
|
||||||
#include "logic/liteloader/LiteLoaderInstaller.h"
|
#include "liteloader/LiteLoaderInstaller.h"
|
||||||
#include "logic/minecraft/VersionBuilder.h"
|
#include "minecraft/VersionBuilder.h"
|
||||||
#include "logic/auth/MojangAccountList.h"
|
#include "auth/MojangAccountList.h"
|
||||||
#include "logic/minecraft/Mod.h"
|
#include "minecraft/Mod.h"
|
||||||
#include "logic/icons/IconList.h"
|
#include "icons/IconList.h"
|
||||||
|
|
||||||
|
|
||||||
QIcon VersionPage::icon() const
|
QIcon VersionPage::icon() const
|
@ -17,8 +17,8 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
#include "logic/minecraft/OneSixInstance.h"
|
#include "minecraft/OneSixInstance.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "BasePage.h"
|
#include "BasePage.h"
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
@ -190,12 +190,12 @@
|
|||||||
<customwidget>
|
<customwidget>
|
||||||
<class>ModListView</class>
|
<class>ModListView</class>
|
||||||
<extends>QTreeView</extends>
|
<extends>QTreeView</extends>
|
||||||
<header>gui/widgets/ModListView.h</header>
|
<header>widgets/ModListView.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>LineSeparator</class>
|
<class>LineSeparator</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
<header>gui/widgets/LineSeparator.h</header>
|
<header>widgets/LineSeparator.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
@ -20,19 +20,19 @@
|
|||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#include "logic/net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include "logic/net/URLConstants.h"
|
#include "net/URLConstants.h"
|
||||||
#include "logic/Env.h"
|
#include "Env.h"
|
||||||
|
|
||||||
#include "gui/dialogs/EditAccountDialog.h"
|
#include "dialogs/EditAccountDialog.h"
|
||||||
#include "gui/dialogs/ProgressDialog.h"
|
#include "dialogs/ProgressDialog.h"
|
||||||
#include "gui/dialogs/AccountSelectDialog.h"
|
#include "dialogs/AccountSelectDialog.h"
|
||||||
#include "gui/dialogs/LoginDialog.h"
|
#include "dialogs/LoginDialog.h"
|
||||||
#include "gui/dialogs/CustomMessageBox.h"
|
#include "dialogs/CustomMessageBox.h"
|
||||||
#include "logic/tasks/Task.h"
|
#include "tasks/Task.h"
|
||||||
#include "logic/auth/YggdrasilTask.h"
|
#include "auth/YggdrasilTask.h"
|
||||||
|
|
||||||
#include <MultiMC.h>
|
#include "MultiMC.h"
|
||||||
|
|
||||||
AccountListPage::AccountListPage(QWidget *parent)
|
AccountListPage::AccountListPage(QWidget *parent)
|
||||||
: QWidget(parent), ui(new Ui::AccountListPage)
|
: QWidget(parent), ui(new Ui::AccountListPage)
|
@ -18,9 +18,9 @@
|
|||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "gui/pages/BasePage.h"
|
#include "pages/BasePage.h"
|
||||||
|
|
||||||
#include "logic/auth/MojangAccountList.h"
|
#include "auth/MojangAccountList.h"
|
||||||
#include <MultiMC.h>
|
#include <MultiMC.h>
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user