diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 296 |
1 files changed, 173 insertions, 123 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index da86405f..83057b3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,8 +103,8 @@ set(MultiMC_NEWS_RSS_URL "http://multimc.org/rss.xml" CACHE STRING "URL to fetch ######## Set version numbers ######## set(MultiMC_VERSION_MAJOR 0) -set(MultiMC_VERSION_MINOR 3) -set(MultiMC_VERSION_HOTFIX 9) +set(MultiMC_VERSION_MINOR 4) +set(MultiMC_VERSION_HOTFIX 0) # Build number set(MultiMC_VERSION_BUILD -1 CACHE STRING "Build number. -1 for no build number.") @@ -252,11 +252,6 @@ add_definitions(-DLIBUTIL_STATIC) add_subdirectory(depends/util) include_directories(${LIBUTIL_INCLUDE_DIR}) -# Add the settings library. -add_definitions(-DLIBSETTINGS_STATIC) -add_subdirectory(depends/settings) -include_directories(${LIBSETTINGS_INCLUDE_DIR}) - # Add the updater add_subdirectory(mmc_updater) @@ -291,48 +286,62 @@ SET(MULTIMC_SOURCES gui/ConsoleWindow.h gui/ConsoleWindow.cpp + # GUI - page dialog pages + 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 - 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/AboutDialog.h + gui/dialogs/AccountListDialog.cpp + gui/dialogs/AccountListDialog.h + gui/dialogs/AccountSelectDialog.cpp + gui/dialogs/AccountSelectDialog.h + gui/dialogs/CopyInstanceDialog.cpp + gui/dialogs/CopyInstanceDialog.h gui/dialogs/CustomMessageBox.cpp - gui/dialogs/EditAccountDialog.h + gui/dialogs/CustomMessageBox.h gui/dialogs/EditAccountDialog.cpp - gui/dialogs/LoginDialog.h + gui/dialogs/EditAccountDialog.h + gui/dialogs/IconPickerDialog.cpp + gui/dialogs/IconPickerDialog.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/LoginDialog.h + gui/dialogs/LwjglSelectDialog.cpp + gui/dialogs/LwjglSelectDialog.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/SettingsDialog.cpp + gui/dialogs/SettingsDialog.h + gui/dialogs/UpdateDialog.cpp + gui/dialogs/UpdateDialog.h + gui/dialogs/VersionSelectDialog.cpp + gui/dialogs/VersionSelectDialog.h + # GUI - widgets gui/widgets/Common.cpp @@ -347,6 +356,9 @@ SET(MULTIMC_SOURCES 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 @@ -363,30 +375,51 @@ SET(MULTIMC_SOURCES gui/groupview/InstanceDelegate.cpp gui/groupview/InstanceDelegate.h - # Base classes and infrastructure + # LOGIC - 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 + + # sets and maps for deciding based on versions + logic/VersionFilterData.h + logic/VersionFilterData.cpp - # Basic instance launcher for starting from terminal + # Instance launch logic/InstanceLauncher.h logic/InstanceLauncher.cpp + logic/MinecraftProcess.h + logic/MinecraftProcess.cpp + + # URN parser/resolver + logic/URNResolver.cpp + logic/URNResolver.h + + # Annoying nag screen logic + logic/NagUtils.h + logic/NagUtils.cpp + + # Player skin utilities + logic/SkinUtils.h + logic/SkinUtils.cpp + + # misc model filter + logic/EnabledItemFilter.h + logic/EnabledItemFilter.cpp # JSON parsing helpers logic/MMCJson.h logic/MMCJson.cpp + # RW lock protected map + logic/RWStorage.h + # network stuffs logic/net/NetAction.h logic/net/MD5EtagDownload.h @@ -395,10 +428,6 @@ SET(MULTIMC_SOURCES 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 @@ -449,9 +478,6 @@ SET(MULTIMC_SOURCES logic/LegacyUpdate.h logic/LegacyUpdate.cpp - logic/LegacyForge.h - logic/LegacyForge.cpp - # OneSix instances logic/OneSixUpdate.h logic/OneSixUpdate.cpp @@ -460,30 +486,42 @@ SET(MULTIMC_SOURCES 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/minecraft/InstanceVersion.cpp + logic/minecraft/InstanceVersion.h + logic/minecraft/JarMod.cpp + logic/minecraft/JarMod.h + logic/minecraft/MinecraftVersion.cpp + logic/minecraft/MinecraftVersion.h + logic/minecraft/MinecraftVersionList.cpp + logic/minecraft/MinecraftVersionList.h + logic/minecraft/OneSixLibrary.cpp + logic/minecraft/OneSixLibrary.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/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/VersionPatch.h + logic/minecraft/VersionSource.h + + # Various base classes logic/BaseInstaller.h logic/BaseInstaller.cpp - logic/ForgeInstaller.h - logic/ForgeInstaller.cpp - logic/LiteLoaderInstaller.h - logic/LiteLoaderInstaller.cpp + logic/BaseVersionList.h + logic/BaseVersionList.cpp - # Nostalgia - logic/NostalgiaInstance.h - logic/NostalgiaInstance.cpp + logic/InstanceList.h + logic/InstanceList.cpp + logic/LwjglVersionList.h + logic/LwjglVersionList.cpp # FTB logic/OneSixFTBInstance.h @@ -491,27 +529,8 @@ SET(MULTIMC_SOURCES 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 @@ -523,11 +542,6 @@ SET(MULTIMC_SOURCES 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 @@ -537,17 +551,27 @@ SET(MULTIMC_SOURCES 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 + # 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/assets/AssetsMigrateTask.h @@ -566,6 +590,27 @@ SET(MULTIMC_SOURCES 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 ) @@ -573,7 +618,16 @@ SET(MULTIMC_SOURCES SET(MULTIMC_UIS # Windows gui/MainWindow.ui - gui/ConsoleWindow.ui + + # 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 # Dialogs gui/dialogs/SettingsDialog.ui @@ -582,18 +636,13 @@ SET(MULTIMC_UIS 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 @@ -614,7 +663,10 @@ 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/instances/instances.qrc + resources/versions/versions.qrc ) @@ -656,7 +708,7 @@ 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 quazip libUtil libSettings ${MultiMC_LINK_ADDITIONAL_LIBS}) +target_link_libraries(MultiMC_common xz-embedded unpack200 quazip libUtil ${MultiMC_LINK_ADDITIONAL_LIBS}) qt5_use_modules(MultiMC Core Widgets Network Xml Concurrent ${MultiMC_QT_ADDITIONAL_MODULES}) qt5_use_modules(MultiMC_common Core Widgets Network Xml Concurrent ${MultiMC_QT_ADDITIONAL_MODULES}) @@ -694,7 +746,7 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInf DIRECTORY "${QT_PLUGINS_DIR}/imageformats" DESTINATION ${PLUGIN_DEST_DIR} COMPONENT Runtime - REGEX "tga|svg|tiff|mng" EXCLUDE + REGEX "tga|tiff|mng" EXCLUDE ) # Platform plugins @@ -710,7 +762,7 @@ else() DIRECTORY "${QT_PLUGINS_DIR}/imageformats" DESTINATION ${PLUGIN_DEST_DIR} COMPONENT Runtime - REGEX "tga|svg|tiff|mng" EXCLUDE + REGEX "tga|tiff|mng" EXCLUDE REGEX "d\\." EXCLUDE REGEX "_debug\\." EXCLUDE ) @@ -795,8 +847,6 @@ include(CPack) include(Coverity) -include_directories(${PROJECT_BINARY_DIR}/include) - # Translations add_subdirectory(translations) |