diff options
| -rw-r--r-- | CMakeLists.txt | 1122 | ||||
| -rw-r--r-- | cmake/Coverity.cmake | 20 | ||||
| -rw-r--r-- | cmake/GitFunctions.cmake | 8 | ||||
| -rw-r--r-- | dependencies.cmake.in | 33 | ||||
| -rw-r--r-- | depends/classparser/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | depends/javacheck/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | depends/launcher/CMakeLists.txt | 28 | ||||
| -rw-r--r-- | depends/pack200/CMakeLists.txt | 70 | ||||
| -rw-r--r-- | depends/quazip/CMakeLists.txt | 33 | ||||
| -rw-r--r-- | depends/settings/CMakeLists.txt | 28 | ||||
| -rw-r--r-- | depends/util/CMakeLists.txt | 28 | ||||
| -rw-r--r-- | depends/xz-embedded/CMakeLists.txt | 22 | ||||
| -rw-r--r-- | install_prereqs.cmake.in | 6 | ||||
| -rw-r--r-- | mmc_updater/CMakeLists.txt | 12 | ||||
| -rw-r--r-- | mmc_updater/src/CMakeLists.txt | 161 | ||||
| -rw-r--r-- | mmc_updater/src/tests/CMakeLists.txt | 18 | ||||
| -rw-r--r-- | tests/CMakeLists.txt | 48 | ||||
| -rw-r--r-- | translations/CMakeLists.txt | 10 |
18 files changed, 798 insertions, 859 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1741d65c..0707571b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,38 +2,39 @@ cmake_minimum_required(VERSION 2.8.9) string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BUILD_DIR}" IS_IN_SOURCE_BUILD) if(IS_IN_SOURCE_BUILD) - message(AUTHOR_WARNING "You are building MultiMC in-source. This is NOT recommended!") + message(AUTHOR_WARNING "You are building MultiMC in-source. This is NOT recommended!") endif() -IF(WIN32) - # In Qt 5.1+ we have our own main() function, don't autolink to qtmain on Windows - cmake_policy(SET CMP0020 OLD) -ENDIF() +if(WIN32) + # In Qt 5.1+ we have our own main() function, don't autolink to qtmain on Windows + cmake_policy(SET CMP0020 OLD) +endif() project(MultiMC) enable_testing() ######## Set CMake options ######## -SET(CMAKE_AUTOMOC ON) -SET(CMAKE_INCLUDE_CURRENT_DIR ON) -SET(FILES_TO_TRANSLATE ) +set(CMAKE_AUTOMOC ON) +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(FILES_TO_TRANSLATE ) ######## Set module path ######## -SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/") -SET(MMC_SRC "${PROJECT_SOURCE_DIR}") -SET(MMC_BIN "${PROJECT_BINARY_DIR}") +set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/") +set(MMC_SRC "${PROJECT_SOURCE_DIR}") +set(MMC_BIN "${PROJECT_BINARY_DIR}") # Output all executables and shared libs in the main build folder, not in subfolders. -SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) -IF(UNIX) - SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) -ENDIF() +if(UNIX) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) +endif() set(CMAKE_JAVA_TARGET_OUTPUT_DIR ${PROJECT_BINARY_DIR}/jars) ######## Set compiler flags ######## include(UseCXX11) +include(Coverage) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Werror=return-type") @@ -48,12 +49,12 @@ find_package(Qt5Concurrent REQUIRED) find_package(Qt5LinguistTools REQUIRED) include_directories( - ${Qt5Core_INCLUDE_DIRS} - ${Qt5Widgets_INCLUDE_DIRS} - ${Qt5Concurrent_INCLUDE_DIRS} - ${Qt5Network_INCLUDE_DIRS} - ${Qt5Test_INCLUDE_DIRS} - ) + ${Qt5Core_INCLUDE_DIRS} + ${Qt5Widgets_INCLUDE_DIRS} + ${Qt5Concurrent_INCLUDE_DIRS} + ${Qt5Network_INCLUDE_DIRS} + ${Qt5Test_INCLUDE_DIRS} +) # The Qt5 cmake files don't provide its install paths, so ask qmake. include(QMakeQuery) @@ -67,85 +68,84 @@ set(QT_MKSPECS_DIR ${QT_DATA_DIR}/mkspecs) ################################ SET UP BUILD OPTIONS ################################ ######## Check endianness ######## -INCLUDE(TestBigEndian) -TEST_BIG_ENDIAN(BIGENDIAN) -IF(${BIGENDIAN}) - ADD_DEFINITIONS(-DMULTIMC_BIG_ENDIAN) -ENDIF(${BIGENDIAN}) +include(TestBigEndian) +test_big_endian(BIGENDIAN) +if(${BIGENDIAN}) + add_definitions(-DMULTIMC_BIG_ENDIAN) +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(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 3) -SET(MultiMC_VERSION_HOTFIX 2) +set(MultiMC_VERSION_MAJOR 0) +set(MultiMC_VERSION_MINOR 3) +set(MultiMC_VERSION_HOTFIX 2) # Build number -SET(MultiMC_VERSION_BUILD -1 CACHE STRING "Build number. -1 for no 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.") +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.") +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.") +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.") +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.") +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_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() +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 "ReleaseCandidate") - MESSAGE(STATUS "Version Type: Release Candidate") - SET(MultiMC_VERSION_STRING "${MultiMC_RELEASE_VERSION_NAME}-rc${MultiMC_VERSION_BUILD}") -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(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 "ReleaseCandidate") + message(STATUS "Version Type: Release Candidate") + set(MultiMC_VERSION_STRING "${MultiMC_RELEASE_VERSION_NAME}-rc${MultiMC_VERSION_BUILD}") +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 () +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) @@ -164,60 +164,51 @@ else() endif() #### 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}") #### Check the current Git commit include(GitFunctions) git_run(COMMAND rev-parse HEAD DEFAULT "Unknown" OUTPUT_VAR MultiMC_GIT_COMMIT) message(STATUS "Git commit: ${MultiMC_GIT_COMMIT}") -OPTION(MultiMC_CODE_COVERAGE "Compiles for code coverage" OFF) -IF(MultiMC_CODE_COVERAGE) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 --coverage") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 --coverage") - SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -O0 --coverage") - SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g -O0 --coverage") - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O0 --coverage") -ENDIF(MultiMC_CODE_COVERAGE) - ######## 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_REV}.${MultiMC_VERSION_BUILD}") - SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_REV}.${MultiMC_VERSION_BUILD}") - SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_REV}.${MultiMC_VERSION_BUILD}") - SET(MACOSX_BUNDLE_ICON_FILE MultiMC.icns) - SET(MACOSX_BUNDLE_COPYRIGHT "Copyright 2013 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() +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_REV}.${MultiMC_VERSION_BUILD}") + set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_REV}.${MultiMC_VERSION_BUILD}") + set(MACOSX_BUNDLE_LONG_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_REV}.${MultiMC_VERSION_BUILD}") + set(MACOSX_BUNDLE_ICON_FILE MultiMC.icns) + set(MACOSX_BUNDLE_COPYRIGHT "Copyright 2013 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}") +set(DIRS "${QT_LIBS_DIR}") ################################ Included Libs ################################ # Add quazip -ADD_DEFINITIONS(-DQUAZIP_STATIC) +add_definitions(-DQUAZIP_STATIC) add_subdirectory(depends/quazip) include_directories(depends/quazip) @@ -236,12 +227,12 @@ include_directories(${PACK200_INCLUDE_DIR}) ######## MultiMC Libs ######## # Add the util library. -ADD_DEFINITIONS(-DLIBUTIL_STATIC) +add_definitions(-DLIBUTIL_STATIC) add_subdirectory(depends/util) include_directories(${LIBUTIL_INCLUDE_DIR}) # Add the settings library. -ADD_DEFINITIONS(-DLIBSETTINGS_STATIC) +add_definitions(-DLIBSETTINGS_STATIC) add_subdirectory(depends/settings) include_directories(${LIBSETTINGS_INCLUDE_DIR}) @@ -252,522 +243,521 @@ add_subdirectory(mmc_updater) ######## Sources and headers ######## SET(MULTIMC_SOURCES -# Application base -MultiMC.h -MultiMC.cpp -MMCError.h -BuildConfig.h -${PROJECT_BINARY_DIR}/BuildConfig.cpp - -# Logging -logger/QsDebugOutput.cpp -logger/QsDebugOutput.h -logger/QsLog.cpp -logger/QsLog.h -logger/QsLogDest.cpp -logger/QsLogDest.h - -# GUI - windows -gui/MainWindow.h -gui/MainWindow.cpp -gui/ConsoleWindow.h -gui/ConsoleWindow.cpp - -# GUI - dialogs -gui/dialogs/SettingsDialog.h -gui/dialogs/SettingsDialog.cpp -gui/dialogs/CopyInstanceDialog.h -gui/dialogs/CopyInstanceDialog.cpp -gui/dialogs/NewInstanceDialog.cpp -gui/dialogs/ProgressDialog.h -gui/dialogs/ProgressDialog.cpp -gui/dialogs/AboutDialog.h -gui/dialogs/AboutDialog.cpp -gui/dialogs/VersionSelectDialog.h -gui/dialogs/VersionSelectDialog.cpp -gui/dialogs/LwjglSelectDialog.h -gui/dialogs/LwjglSelectDialog.cpp -gui/dialogs/InstanceSettings.h -gui/dialogs/InstanceSettings.cpp -gui/dialogs/IconPickerDialog.h -gui/dialogs/IconPickerDialog.cpp -gui/dialogs/LegacyModEditDialog.h -gui/dialogs/LegacyModEditDialog.cpp -gui/dialogs/OneSixModEditDialog.h -gui/dialogs/OneSixModEditDialog.cpp -gui/dialogs/ModEditDialogCommon.h -gui/dialogs/ModEditDialogCommon.cpp -gui/dialogs/EditNotesDialog.h -gui/dialogs/EditNotesDialog.cpp -gui/dialogs/CustomMessageBox.h -gui/dialogs/CustomMessageBox.cpp -gui/dialogs/EditAccountDialog.h -gui/dialogs/EditAccountDialog.cpp -gui/dialogs/LoginDialog.h -gui/dialogs/LoginDialog.cpp -gui/dialogs/AccountListDialog.h -gui/dialogs/AccountListDialog.cpp -gui/dialogs/AccountSelectDialog.h -gui/dialogs/AccountSelectDialog.cpp -gui/dialogs/UpdateDialog.h -gui/dialogs/UpdateDialog.cpp -gui/dialogs/ScreenshotDialog.h -gui/dialogs/ScreenshotDialog.cpp -gui/dialogs/NotificationDialog.h -gui/dialogs/NotificationDialog.cpp - -# GUI - widgets -gui/widgets/Common.h -gui/widgets/Common.cpp -gui/widgets/ModListView.h -gui/widgets/ModListView.cpp -gui/widgets/VersionListView.h -gui/widgets/VersionListView.cpp -gui/widgets/LabeledToolButton.h -gui/widgets/LabeledToolButton.cpp -gui/widgets/MCModInfoFrame.h -gui/widgets/MCModInfoFrame.cpp - -# GUI - instance group view -gui/groupview/Group.cpp -gui/groupview/Group.h -gui/groupview/GroupedProxyModel.cpp -gui/groupview/GroupedProxyModel.h -gui/groupview/GroupView.cpp -gui/groupview/GroupView.h -gui/groupview/InstanceDelegate.cpp -gui/groupview/InstanceDelegate.h - -# Base classes and infrastructure -logic/BaseVersion.h -logic/MinecraftVersion.h -logic/InstanceFactory.h -logic/InstanceFactory.cpp -logic/BaseInstance.h -logic/BaseInstance.cpp -logic/BaseInstance_p.h - -logic/MinecraftProcess.h -logic/MinecraftProcess.cpp -logic/Mod.h -logic/Mod.cpp -logic/ModList.h -logic/ModList.cpp - -# Basic instance launcher for starting from terminal -logic/InstanceLauncher.h -logic/InstanceLauncher.cpp - -# JSON parsing helpers -logic/MMCJson.h -logic/MMCJson.cpp - -# network stuffs -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/ForgeMirrors.h -logic/net/ForgeMirrors.cpp -logic/net/ForgeXzDownload.h -logic/net/ForgeXzDownload.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/UpdateChecker.h -logic/updater/UpdateChecker.cpp -logic/updater/DownloadUpdateTask.h -logic/updater/DownloadUpdateTask.cpp -logic/updater/NotificationChecker.h -logic/updater/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/LegacyInstance.h -logic/LegacyInstance.cpp -logic/LegacyInstance_p.h -logic/LegacyUpdate.h -logic/LegacyUpdate.cpp - -logic/LegacyForge.h -logic/LegacyForge.cpp - -# OneSix instances -logic/OneSixUpdate.h -logic/OneSixUpdate.cpp -logic/OneSixInstance.h -logic/OneSixInstance.cpp -logic/OneSixInstance_p.h - -# OneSix version json infrastructure -logic/OneSixVersionBuilder.h -logic/OneSixVersionBuilder.cpp -logic/VersionFile.h -logic/VersionFile.cpp -logic/VersionFinal.h -logic/VersionFinal.cpp -logic/OneSixLibrary.h -logic/OneSixLibrary.cpp -logic/OneSixRule.h -logic/OneSixRule.cpp -logic/OpSys.h -logic/OpSys.cpp - -# Mod installers -logic/BaseInstaller.h -logic/BaseInstaller.cpp -logic/ForgeInstaller.h -logic/ForgeInstaller.cpp -logic/LiteLoaderInstaller.h -logic/LiteLoaderInstaller.cpp - -# Nostalgia -logic/NostalgiaInstance.h -logic/NostalgiaInstance.cpp - -# FTB -logic/OneSixFTBInstance.h -logic/OneSixFTBInstance.cpp -logic/LegacyFTBInstance.h -logic/LegacyFTBInstance.cpp - -# Lists -logic/lists/InstanceList.h -logic/lists/InstanceList.cpp -logic/lists/BaseVersionList.h -logic/lists/BaseVersionList.cpp -logic/lists/MinecraftVersionList.h -logic/lists/MinecraftVersionList.cpp -logic/lists/LwjglVersionList.h -logic/lists/LwjglVersionList.cpp -logic/lists/ForgeVersionList.h -logic/lists/ForgeVersionList.cpp -logic/lists/JavaVersionList.h -logic/lists/JavaVersionList.cpp -logic/lists/LiteLoaderVersionList.h -logic/lists/LiteLoaderVersionList.cpp - -# the screenshots feature -logic/screenshots/Screenshot.h -logic/screenshots/Screenshot.cpp -logic/screenshots/ScreenshotList.h -logic/screenshots/ScreenshotList.cpp -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 - - -# misc model/view -logic/EnabledItemFilter.h -logic/EnabledItemFilter.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 - -# Utilities -logic/JavaChecker.h -logic/JavaChecker.cpp -logic/JavaUtils.h -logic/JavaUtils.cpp -logic/NagUtils.h -logic/NagUtils.cpp -logic/SkinUtils.h -logic/SkinUtils.cpp -logic/JavaCheckerJob.h -logic/JavaCheckerJob.cpp - -# Assets -logic/assets/AssetsMigrateTask.h -logic/assets/AssetsMigrateTask.cpp -logic/assets/AssetsUtils.h -logic/assets/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 + # Application base + MultiMC.h + MultiMC.cpp + MMCError.h + BuildConfig.h + ${PROJECT_BINARY_DIR}/BuildConfig.cpp + + # Logging + logger/QsDebugOutput.cpp + logger/QsDebugOutput.h + logger/QsLog.cpp + logger/QsLog.h + logger/QsLogDest.cpp + logger/QsLogDest.h + + # GUI - windows + gui/MainWindow.h + gui/MainWindow.cpp + gui/ConsoleWindow.h + gui/ConsoleWindow.cpp + + # GUI - dialogs + gui/dialogs/SettingsDialog.h + gui/dialogs/SettingsDialog.cpp + gui/dialogs/CopyInstanceDialog.h + gui/dialogs/CopyInstanceDialog.cpp + gui/dialogs/NewInstanceDialog.cpp + gui/dialogs/ProgressDialog.h + gui/dialogs/ProgressDialog.cpp + gui/dialogs/AboutDialog.h + gui/dialogs/AboutDialog.cpp + gui/dialogs/VersionSelectDialog.h + gui/dialogs/VersionSelectDialog.cpp + gui/dialogs/LwjglSelectDialog.h + gui/dialogs/LwjglSelectDialog.cpp + gui/dialogs/InstanceSettings.h + gui/dialogs/InstanceSettings.cpp + gui/dialogs/IconPickerDialog.h + gui/dialogs/IconPickerDialog.cpp + gui/dialogs/LegacyModEditDialog.h + gui/dialogs/LegacyModEditDialog.cpp + gui/dialogs/OneSixModEditDialog.h + gui/dialogs/OneSixModEditDialog.cpp + gui/dialogs/ModEditDialogCommon.h + gui/dialogs/ModEditDialogCommon.cpp + gui/dialogs/EditNotesDialog.h + gui/dialogs/EditNotesDialog.cpp + gui/dialogs/CustomMessageBox.h + gui/dialogs/CustomMessageBox.cpp + gui/dialogs/EditAccountDialog.h + gui/dialogs/EditAccountDialog.cpp + gui/dialogs/LoginDialog.h + gui/dialogs/LoginDialog.cpp + gui/dialogs/AccountListDialog.h + gui/dialogs/AccountListDialog.cpp + gui/dialogs/AccountSelectDialog.h + gui/dialogs/AccountSelectDialog.cpp + gui/dialogs/UpdateDialog.h + gui/dialogs/UpdateDialog.cpp + gui/dialogs/ScreenshotDialog.h + gui/dialogs/ScreenshotDialog.cpp + gui/dialogs/NotificationDialog.h + gui/dialogs/NotificationDialog.cpp + + # GUI - widgets + gui/widgets/Common.h + gui/widgets/Common.cpp + gui/widgets/ModListView.h + gui/widgets/ModListView.cpp + gui/widgets/VersionListView.h + gui/widgets/VersionListView.cpp + gui/widgets/LabeledToolButton.h + gui/widgets/LabeledToolButton.cpp + gui/widgets/MCModInfoFrame.h + gui/widgets/MCModInfoFrame.cpp + + # GUI - instance group view + gui/groupview/Group.cpp + gui/groupview/Group.h + gui/groupview/GroupedProxyModel.cpp + gui/groupview/GroupedProxyModel.h + gui/groupview/GroupView.cpp + gui/groupview/GroupView.h + gui/groupview/InstanceDelegate.cpp + gui/groupview/InstanceDelegate.h + + # Base classes and infrastructure + logic/BaseVersion.h + logic/MinecraftVersion.h + logic/InstanceFactory.h + logic/InstanceFactory.cpp + logic/BaseInstance.h + logic/BaseInstance.cpp + logic/BaseInstance_p.h + + logic/MinecraftProcess.h + logic/MinecraftProcess.cpp + logic/Mod.h + logic/Mod.cpp + logic/ModList.h + logic/ModList.cpp + + # Basic instance launcher for starting from terminal + logic/InstanceLauncher.h + logic/InstanceLauncher.cpp + + # JSON parsing helpers + logic/MMCJson.h + logic/MMCJson.cpp + + # network stuffs + 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/ForgeMirrors.h + logic/net/ForgeMirrors.cpp + logic/net/ForgeXzDownload.h + logic/net/ForgeXzDownload.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/UpdateChecker.h + logic/updater/UpdateChecker.cpp + logic/updater/DownloadUpdateTask.h + logic/updater/DownloadUpdateTask.cpp + logic/updater/NotificationChecker.h + logic/updater/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/LegacyInstance.h + logic/LegacyInstance.cpp + logic/LegacyInstance_p.h + logic/LegacyUpdate.h + logic/LegacyUpdate.cpp + + logic/LegacyForge.h + logic/LegacyForge.cpp + + # OneSix instances + logic/OneSixUpdate.h + logic/OneSixUpdate.cpp + logic/OneSixInstance.h + logic/OneSixInstance.cpp + logic/OneSixInstance_p.h + + # OneSix version json infrastructure + logic/OneSixVersionBuilder.h + logic/OneSixVersionBuilder.cpp + logic/VersionFile.h + logic/VersionFile.cpp + logic/VersionFinal.h + logic/VersionFinal.cpp + logic/OneSixLibrary.h + logic/OneSixLibrary.cpp + logic/OneSixRule.h + logic/OneSixRule.cpp + logic/OpSys.h + logic/OpSys.cpp + + # Mod installers + logic/BaseInstaller.h + logic/BaseInstaller.cpp + logic/ForgeInstaller.h + logic/ForgeInstaller.cpp + logic/LiteLoaderInstaller.h + logic/LiteLoaderInstaller.cpp + + # Nostalgia + logic/NostalgiaInstance.h + logic/NostalgiaInstance.cpp + + # FTB + logic/OneSixFTBInstance.h + logic/OneSixFTBInstance.cpp + logic/LegacyFTBInstance.h + logic/LegacyFTBInstance.cpp + + # Lists + logic/lists/InstanceList.h + logic/lists/InstanceList.cpp + logic/lists/BaseVersionList.h + logic/lists/BaseVersionList.cpp + logic/lists/MinecraftVersionList.h + logic/lists/MinecraftVersionList.cpp + logic/lists/LwjglVersionList.h + logic/lists/LwjglVersionList.cpp + logic/lists/ForgeVersionList.h + logic/lists/ForgeVersionList.cpp + logic/lists/JavaVersionList.h + logic/lists/JavaVersionList.cpp + logic/lists/LiteLoaderVersionList.h + logic/lists/LiteLoaderVersionList.cpp + + # the screenshots feature + logic/screenshots/Screenshot.h + logic/screenshots/Screenshot.cpp + logic/screenshots/ScreenshotList.h + logic/screenshots/ScreenshotList.cpp + 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 + + + # misc model/view + logic/EnabledItemFilter.h + logic/EnabledItemFilter.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 + + # Utilities + logic/JavaChecker.h + logic/JavaChecker.cpp + logic/JavaUtils.h + logic/JavaUtils.cpp + logic/NagUtils.h + logic/NagUtils.cpp + logic/SkinUtils.h + logic/SkinUtils.cpp + logic/JavaCheckerJob.h + logic/JavaCheckerJob.cpp + + # Assets + logic/assets/AssetsMigrateTask.h + logic/assets/AssetsMigrateTask.cpp + logic/assets/AssetsUtils.h + logic/assets/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 ) ######## UIs ######## SET(MULTIMC_UIS - -# Windows -gui/MainWindow.ui -gui/ConsoleWindow.ui - -# Dialogs -gui/dialogs/SettingsDialog.ui -gui/dialogs/CopyInstanceDialog.ui -gui/dialogs/NewInstanceDialog.ui -gui/dialogs/AboutDialog.ui -gui/dialogs/VersionSelectDialog.ui -gui/dialogs/LwjglSelectDialog.ui -gui/dialogs/InstanceSettings.ui -gui/dialogs/ProgressDialog.ui -gui/dialogs/IconPickerDialog.ui -gui/dialogs/LegacyModEditDialog.ui -gui/dialogs/OneSixModEditDialog.ui -gui/dialogs/EditNotesDialog.ui -gui/dialogs/AccountListDialog.ui -gui/dialogs/AccountSelectDialog.ui -gui/dialogs/EditAccountDialog.ui -gui/dialogs/LoginDialog.ui -gui/dialogs/UpdateDialog.ui -gui/dialogs/ScreenshotDialog.ui -gui/dialogs/NotificationDialog.ui - -# Widgets/other -gui/widgets/MCModInfoFrame.ui + # Windows + gui/MainWindow.ui + gui/ConsoleWindow.ui + + # Dialogs + gui/dialogs/SettingsDialog.ui + gui/dialogs/CopyInstanceDialog.ui + gui/dialogs/NewInstanceDialog.ui + gui/dialogs/AboutDialog.ui + gui/dialogs/VersionSelectDialog.ui + gui/dialogs/LwjglSelectDialog.ui + gui/dialogs/InstanceSettings.ui + gui/dialogs/ProgressDialog.ui + gui/dialogs/IconPickerDialog.ui + gui/dialogs/LegacyModEditDialog.ui + gui/dialogs/OneSixModEditDialog.ui + gui/dialogs/EditNotesDialog.ui + gui/dialogs/AccountListDialog.ui + gui/dialogs/AccountSelectDialog.ui + gui/dialogs/EditAccountDialog.ui + gui/dialogs/LoginDialog.ui + gui/dialogs/UpdateDialog.ui + gui/dialogs/ScreenshotDialog.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}") + list(APPEND FILES_TO_TRANSLATE "${absfile}") endforeach() foreach(file ${MULTIMC_UIS}) get_filename_component(absfile "${file}" ABSOLUTE) - list(APPEND FILES_TO_TRANSLATE "${absfile}") + list(APPEND FILES_TO_TRANSLATE "${absfile}") endforeach() -SET(MULTIMC_QRCS -resources/backgrounds/backgrounds.qrc -resources/multimc/multimc.qrc -resources/instances/instances.qrc +set(MULTIMC_QRCS + resources/backgrounds/backgrounds.qrc + resources/multimc/multimc.qrc + resources/instances/instances.qrc ) ######## Windows resource files ######## -IF(WIN32) -SET(MULTIMC_RCS resources/multimc.rc) -ENDIF() +if(WIN32) + set(MULTIMC_RCS resources/multimc.rc) +endif() |
