summaryrefslogtreecommitdiffstats
path: root/logic/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'logic/CMakeLists.txt')
-rw-r--r--logic/CMakeLists.txt258
1 files changed, 258 insertions, 0 deletions
diff --git a/logic/CMakeLists.txt b/logic/CMakeLists.txt
new file mode 100644
index 00000000..cf55695d
--- /dev/null
+++ b/logic/CMakeLists.txt
@@ -0,0 +1,258 @@
+project(MultiMC-Logic)
+
+SET(LOGIC_SOURCES
+ # LOGIC - Base classes and infrastructure
+ BaseInstaller.h
+ BaseInstaller.cpp
+ BaseVersionList.h
+ BaseVersionList.cpp
+ InstanceList.h
+ InstanceList.cpp
+ BaseVersion.h
+ BaseProcess.h
+ BaseProcess.cpp
+ BaseInstance.h
+ BaseInstance.cpp
+ MMCError.h
+
+ # WARNING: globals live here
+ Env.h
+ Env.cpp
+
+ # JSON parsing helpers
+ MMCJson.h
+ MMCJson.cpp
+
+ # RW lock protected map
+ RWStorage.h
+
+ # A variable that has an implicit default value and keeps track of changes
+ DefaultVariable.h
+
+ # a smart pointer wrapper intended for safer use with Qt signal/slot mechanisms
+ QObjectPtr.h
+
+ # network stuffs
+ net/NetAction.h
+ net/MD5EtagDownload.h
+ net/MD5EtagDownload.cpp
+ net/ByteArrayDownload.h
+ net/ByteArrayDownload.cpp
+ net/CacheDownload.h
+ net/CacheDownload.cpp
+ net/NetJob.h
+ net/NetJob.cpp
+ net/HttpMetaCache.h
+ net/HttpMetaCache.cpp
+ net/PasteUpload.h
+ net/PasteUpload.cpp
+ net/URLConstants.h
+ net/URLConstants.cpp
+
+ # Yggdrasil login stuff
+ auth/AuthSession.h
+ auth/AuthSession.cpp
+ auth/MojangAccountList.h
+ auth/MojangAccountList.cpp
+ auth/MojangAccount.h
+ auth/MojangAccount.cpp
+ auth/YggdrasilTask.h
+ auth/YggdrasilTask.cpp
+ auth/flows/AuthenticateTask.h
+ auth/flows/AuthenticateTask.cpp
+ auth/flows/RefreshTask.cpp
+ auth/flows/RefreshTask.cpp
+ auth/flows/ValidateTask.h
+ auth/flows/ValidateTask.cpp
+
+ # Update system
+ updater/GoUpdate.h
+ updater/GoUpdate.cpp
+ updater/UpdateChecker.h
+ updater/UpdateChecker.cpp
+ updater/DownloadTask.h
+ updater/DownloadTask.cpp
+
+ # Notifications - short warning messages
+ notifications/NotificationChecker.h
+ notifications/NotificationChecker.cpp
+
+ # News System
+ news/NewsChecker.h
+ news/NewsChecker.cpp
+ news/NewsEntry.h
+ news/NewsEntry.cpp
+
+ # Status system
+ status/StatusChecker.h
+ status/StatusChecker.cpp
+
+ # Minecraft support
+ minecraft/OneSixUpdate.h
+ minecraft/OneSixUpdate.cpp
+ minecraft/OneSixInstance.h
+ minecraft/OneSixInstance.cpp
+ minecraft/LegacyUpdate.h
+ minecraft/LegacyUpdate.cpp
+ minecraft/LegacyInstance.h
+ minecraft/LegacyInstance.cpp
+ minecraft/LwjglVersionList.h
+ minecraft/LwjglVersionList.cpp
+ minecraft/SkinUtils.h
+ minecraft/SkinUtils.cpp
+ minecraft/JarUtils.h
+ minecraft/JarUtils.cpp
+ minecraft/GradleSpecifier.h
+ minecraft/MinecraftProfile.cpp
+ minecraft/MinecraftProfile.h
+ minecraft/JarMod.cpp
+ minecraft/JarMod.h
+ minecraft/MinecraftInstance.cpp
+ minecraft/MinecraftInstance.h
+ minecraft/MinecraftProcess.cpp
+ minecraft/MinecraftProcess.h
+ minecraft/MinecraftVersion.cpp
+ minecraft/MinecraftVersion.h
+ minecraft/MinecraftVersionList.cpp
+ minecraft/MinecraftVersionList.h
+ minecraft/NullProfileStrategy.h
+ minecraft/OneSixLibrary.cpp
+ minecraft/OneSixLibrary.h
+ minecraft/OneSixProfileStrategy.cpp
+ minecraft/OneSixProfileStrategy.h
+ minecraft/OneSixRule.cpp
+ minecraft/OneSixRule.h
+ minecraft/OpSys.cpp
+ minecraft/OpSys.h
+ minecraft/ParseUtils.cpp
+ minecraft/ParseUtils.h
+ minecraft/ProfileUtils.cpp
+ minecraft/ProfileUtils.h
+ minecraft/ProfileStrategy.h
+ minecraft/RawLibrary.cpp
+ minecraft/RawLibrary.h
+ minecraft/VersionBuilder.cpp
+ minecraft/VersionBuilder.h
+ minecraft/VersionBuildError.h
+ minecraft/VersionFile.cpp
+ minecraft/VersionFile.h
+ minecraft/ProfilePatch.h
+ minecraft/VersionSource.h
+ minecraft/VersionFilterData.h
+ minecraft/VersionFilterData.cpp
+ minecraft/Mod.h
+ minecraft/Mod.cpp
+ minecraft/ModList.h
+ minecraft/ModList.cpp
+
+ # FTB
+ ftb/OneSixFTBInstance.h
+ ftb/OneSixFTBInstance.cpp
+ ftb/LegacyFTBInstance.h
+ ftb/LegacyFTBInstance.cpp
+ ftb/FTBProfileStrategy.h
+ ftb/FTBProfileStrategy.cpp
+ ftb/FTBPlugin.h
+ ftb/FTBPlugin.cpp
+
+ # A Recursive file system watcher
+ RecursiveFileSystemWatcher.h
+ RecursiveFileSystemWatcher.cpp
+
+ # the screenshots feature
+ screenshots/Screenshot.h
+ screenshots/ImgurUpload.h
+ screenshots/ImgurUpload.cpp
+ screenshots/ImgurAlbumCreation.h
+ screenshots/ImgurAlbumCreation.cpp
+
+ # Icons
+ icons/MMCIcon.h
+ icons/MMCIcon.cpp
+ icons/IconList.h
+ icons/IconList.cpp
+
+ # Tasks
+ tasks/ProgressProvider.h
+ tasks/Task.h
+ tasks/Task.cpp
+ tasks/ThreadTask.h
+ tasks/ThreadTask.cpp
+ tasks/SequentialTask.h
+ tasks/SequentialTask.cpp
+
+ # Settings
+ settings/INIFile.cpp
+ settings/INIFile.h
+ settings/INISettingsObject.cpp
+ settings/INISettingsObject.h
+ settings/OverrideSetting.cpp
+ settings/OverrideSetting.h
+ settings/Setting.cpp
+ settings/Setting.h
+ settings/SettingsObject.cpp
+ settings/SettingsObject.h
+
+ # Java related code
+ java/JavaChecker.h
+ java/JavaChecker.cpp
+ java/JavaUtils.h
+ java/JavaUtils.cpp
+ java/JavaVersionList.h
+ java/JavaVersionList.cpp
+ java/JavaCheckerJob.h
+ java/JavaCheckerJob.cpp
+
+ # Assets
+ minecraft/AssetsUtils.h
+ minecraft/AssetsUtils.cpp
+
+ # Forge and all things forge related
+ forge/ForgeVersion.h
+ forge/ForgeVersion.cpp
+ forge/ForgeVersionList.h
+ forge/ForgeVersionList.cpp
+ forge/ForgeMirror.h
+ forge/ForgeMirrors.h
+ forge/ForgeMirrors.cpp
+ forge/ForgeXzDownload.h
+ forge/ForgeXzDownload.cpp
+ forge/LegacyForge.h
+ forge/LegacyForge.cpp
+ forge/ForgeInstaller.h
+ forge/ForgeInstaller.cpp
+
+ # Liteloader and related things
+ liteloader/LiteLoaderInstaller.h
+ liteloader/LiteLoaderInstaller.cpp
+ liteloader/LiteLoaderVersionList.h
+ liteloader/LiteLoaderVersionList.cpp
+
+ # Translations
+ trans/TranslationDownloader.h
+ trans/TranslationDownloader.cpp
+
+ # Tools
+ tools/BaseExternalTool.cpp
+ tools/BaseExternalTool.h
+ tools/BaseProfiler.cpp
+ tools/BaseProfiler.h
+ tools/JProfiler.cpp
+ tools/JProfiler.h
+ tools/JVisualVM.cpp
+ tools/JVisualVM.h
+ tools/MCEditTool.cpp
+ tools/MCEditTool.h
+
+)
+################################ COMPILE ################################
+
+# Add common library
+add_library(MultiMC_logic STATIC ${LOGIC_SOURCES})
+
+# Link
+target_link_libraries(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})
+
+add_dependencies(MultiMC_logic QuaZIP)