summaryrefslogtreecommitdiffstats
path: root/api/logic/CMakeLists.txt
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-04-14 01:23:54 +0200
committerPetr Mrázek <peterix@gmail.com>2016-05-01 00:02:15 +0200
commit771dd6f9abe29c1d24c5ea8f0e7ca949bc24f84d (patch)
tree52962ddf547b3227f1b637dd1da2b3d0b5a5a766 /api/logic/CMakeLists.txt
parente8ba5dafc63de65ed8a469353b808e391633f0fc (diff)
downloadMultiMC-771dd6f9abe29c1d24c5ea8f0e7ca949bc24f84d.tar
MultiMC-771dd6f9abe29c1d24c5ea8f0e7ca949bc24f84d.tar.gz
MultiMC-771dd6f9abe29c1d24c5ea8f0e7ca949bc24f84d.tar.lz
MultiMC-771dd6f9abe29c1d24c5ea8f0e7ca949bc24f84d.tar.xz
MultiMC-771dd6f9abe29c1d24c5ea8f0e7ca949bc24f84d.zip
NOISSUE reorganize unit tests to be placed next to the code they test. Nuke more dead tests.
Diffstat (limited to 'api/logic/CMakeLists.txt')
-rw-r--r--api/logic/CMakeLists.txt220
1 files changed, 170 insertions, 50 deletions
diff --git a/api/logic/CMakeLists.txt b/api/logic/CMakeLists.txt
index abae7b90..b534f970 100644
--- a/api/logic/CMakeLists.txt
+++ b/api/logic/CMakeLists.txt
@@ -1,6 +1,8 @@
project(MultiMC_logic)
-set(LOGIC_SOURCES
+include (UnitTest)
+
+set(CORE_SOURCES
# LOGIC - Base classes and infrastructure
BaseInstaller.h
BaseInstaller.cpp
@@ -42,12 +44,6 @@ set(LOGIC_SOURCES
# a smart pointer wrapper intended for safer use with Qt signal/slot mechanisms
QObjectPtr.h
- # Path matchers
- pathmatcher/FSTreeMatcher.h
- pathmatcher/IPathMatcher.h
- pathmatcher/MultiMatcher.h
- pathmatcher/RegexpMatcher.h
-
# Compression support
GZip.h
GZip.cpp
@@ -60,6 +56,31 @@ set(LOGIC_SOURCES
Version.h
Version.cpp
+ # A Recursive file system watcher
+ RecursiveFileSystemWatcher.h
+ RecursiveFileSystemWatcher.cpp
+)
+
+add_unit_test(FileSystem
+ SOURCES FileSystem_test.cpp
+ LIBS MultiMC_logic
+ DATA testdata
+ )
+
+add_unit_test(GZip
+ SOURCES GZip_test.cpp
+ LIBS MultiMC_logic
+ )
+
+set(PATHMATCHER_SOURCES
+ # Path matchers
+ pathmatcher/FSTreeMatcher.h
+ pathmatcher/IPathMatcher.h
+ pathmatcher/MultiMatcher.h
+ pathmatcher/RegexpMatcher.h
+)
+
+set(NET_SOURCES
# network stuffs
net/NetAction.h
net/MD5EtagDownload.h
@@ -76,24 +97,10 @@ set(LOGIC_SOURCES
net/PasteUpload.cpp
net/URLConstants.h
net/URLConstants.cpp
+)
- # Yggdrasil login stuff
- minecraft/auth/AuthSession.h
- minecraft/auth/AuthSession.cpp
- minecraft/auth/MojangAccountList.h
- minecraft/auth/MojangAccountList.cpp
- minecraft/auth/MojangAccount.h
- minecraft/auth/MojangAccount.cpp
- minecraft/auth/YggdrasilTask.h
- minecraft/auth/YggdrasilTask.cpp
- minecraft/auth/flows/AuthenticateTask.h
- minecraft/auth/flows/AuthenticateTask.cpp
- minecraft/auth/flows/RefreshTask.cpp
- minecraft/auth/flows/RefreshTask.cpp
- minecraft/auth/flows/ValidateTask.h
- minecraft/auth/flows/ValidateTask.cpp
-
- # Game launch logic
+# Game launch logic
+set(LAUNCH_SOURCES
launch/steps/PostLaunchCommand.cpp
launch/steps/PostLaunchCommand.h
launch/steps/PreLaunchCommand.cpp
@@ -110,30 +117,70 @@ set(LOGIC_SOURCES
launch/LoggedProcess.h
launch/MessageLevel.cpp
launch/MessageLevel.h
+)
- # Update system
+# Old update system
+set(UPDATE_SOURCES
updater/GoUpdate.h
updater/GoUpdate.cpp
updater/UpdateChecker.h
updater/UpdateChecker.cpp
updater/DownloadTask.h
updater/DownloadTask.cpp
+)
+
+add_unit_test(UpdateChecker
+ SOURCES updater/UpdateChecker_test.cpp
+ LIBS MultiMC_logic
+ DATA updater/testdata
+ )
+
+add_unit_test(DownloadTask
+ SOURCES updater/DownloadTask_test.cpp
+ LIBS MultiMC_logic
+ DATA updater/testdata
+ )
+# Rarely used notifications
+set(NOTIFICATIONS_SOURCES
# Notifications - short warning messages
notifications/NotificationChecker.h
notifications/NotificationChecker.cpp
+)
+# Backend for the news bar... there's usually no news.
+set(NEWS_SOURCES
# News System
news/NewsChecker.h
news/NewsChecker.cpp
news/NewsEntry.h
news/NewsEntry.cpp
+)
+# Minecraft services status checker
+set(STATUS_SOURCES
# Status system
status/StatusChecker.h
status/StatusChecker.cpp
+)
+# Support for Minecraft instances and launch
+set(MINECRAFT_SOURCES
# Minecraft support
+ minecraft/auth/AuthSession.h
+ minecraft/auth/AuthSession.cpp
+ minecraft/auth/MojangAccountList.h
+ minecraft/auth/MojangAccountList.cpp
+ minecraft/auth/MojangAccount.h
+ minecraft/auth/MojangAccount.cpp
+ minecraft/auth/YggdrasilTask.h
+ minecraft/auth/YggdrasilTask.cpp
+ minecraft/auth/flows/AuthenticateTask.h
+ minecraft/auth/flows/AuthenticateTask.cpp
+ minecraft/auth/flows/RefreshTask.cpp
+ minecraft/auth/flows/RefreshTask.cpp
+ minecraft/auth/flows/ValidateTask.h
+ minecraft/auth/flows/ValidateTask.cpp
minecraft/onesix/OneSixUpdate.h
minecraft/onesix/OneSixUpdate.cpp
minecraft/onesix/OneSixInstance.h
@@ -201,17 +248,67 @@ set(LOGIC_SOURCES
minecraft/ftb/FTBPlugin.h
minecraft/ftb/FTBPlugin.cpp
- # A Recursive file system watcher
- RecursiveFileSystemWatcher.h
- RecursiveFileSystemWatcher.cpp
+ # Assets
+ minecraft/AssetsUtils.h
+ minecraft/AssetsUtils.cpp
- # the screenshots feature
+ # Forge and all things forge related
+ minecraft/forge/ForgeVersion.h
+ minecraft/forge/ForgeVersion.cpp
+ minecraft/forge/ForgeVersionList.h
+ minecraft/forge/ForgeVersionList.cpp
+ minecraft/forge/ForgeXzDownload.h
+ minecraft/forge/ForgeXzDownload.cpp
+ minecraft/forge/LegacyForge.h
+ minecraft/forge/LegacyForge.cpp
+ minecraft/forge/ForgeInstaller.h
+ minecraft/forge/ForgeInstaller.cpp
+
+ # Liteloader and related things
+ minecraft/liteloader/LiteLoaderInstaller.h
+ minecraft/liteloader/LiteLoaderInstaller.cpp
+ minecraft/liteloader/LiteLoaderVersionList.h
+ minecraft/liteloader/LiteLoaderVersionList.cpp
+)
+
+add_unit_test(GradleSpecifier
+ SOURCES minecraft/GradleSpecifier_test.cpp
+ LIBS MultiMC_logic
+ )
+
+add_unit_test(MojangVersionFormat
+ SOURCES minecraft/MojangVersionFormat_test.cpp
+ LIBS MultiMC_logic
+ DATA minecraft/testdata
+ )
+
+add_unit_test(Library
+ SOURCES minecraft/Library_test.cpp
+ LIBS MultiMC_logic
+ )
+
+# FIXME: shares data with FileSystem test
+add_unit_test(ModList
+ SOURCES minecraft/ModList_test.cpp
+ DATA testdata
+ LIBS MultiMC_logic
+ )
+
+add_unit_test(ParseUtils
+ SOURCES minecraft/ParseUtils_test.cpp
+ LIBS MultiMC_logic
+ )
+
+# the screenshots feature
+set(SCREENSHOTS_SOURCES
screenshots/Screenshot.h
screenshots/ImgurUpload.h
screenshots/ImgurUpload.cpp
screenshots/ImgurAlbumCreation.h
screenshots/ImgurAlbumCreation.cpp
+)
+set(TASKS_SOURCES
# Tasks
tasks/Task.h
tasks/Task.cpp
@@ -219,7 +316,9 @@ set(LOGIC_SOURCES
tasks/ThreadTask.cpp
tasks/SequentialTask.h
tasks/SequentialTask.cpp
+)
+set(SETTINGS_SOURCES
# Settings
settings/INIFile.cpp
settings/INIFile.h
@@ -233,7 +332,14 @@ set(LOGIC_SOURCES
settings/Setting.h
settings/SettingsObject.cpp
settings/SettingsObject.h
+)
+
+add_unit_test(INIFile
+ SOURCES settings/INIFile_test.cpp
+ LIBS MultiMC_logic
+ )
+set(JAVA_SOURCES
# Java related code
java/launch/CheckJava.cpp
java/launch/CheckJava.h
@@ -249,33 +355,20 @@ set(LOGIC_SOURCES
java/JavaUtils.cpp
java/JavaVersion.h
java/JavaVersion.cpp
+)
- # Assets
- minecraft/AssetsUtils.h
- minecraft/AssetsUtils.cpp
-
- # Forge and all things forge related
- minecraft/forge/ForgeVersion.h
- minecraft/forge/ForgeVersion.cpp
- minecraft/forge/ForgeVersionList.h
- minecraft/forge/ForgeVersionList.cpp
- minecraft/forge/ForgeXzDownload.h
- minecraft/forge/ForgeXzDownload.cpp
- minecraft/forge/LegacyForge.h
- minecraft/forge/LegacyForge.cpp
- minecraft/forge/ForgeInstaller.h
- minecraft/forge/ForgeInstaller.cpp
-
- # Liteloader and related things
- minecraft/liteloader/LiteLoaderInstaller.h
- minecraft/liteloader/LiteLoaderInstaller.cpp
- minecraft/liteloader/LiteLoaderVersionList.h
- minecraft/liteloader/LiteLoaderVersionList.cpp
+add_unit_test(JavaVersion
+ SOURCES java/JavaVersion_test.cpp
+ LIBS MultiMC_logic
+ )
+set(TRANSLATIONS_SOURCES
# Translations
trans/TranslationDownloader.h
trans/TranslationDownloader.cpp
+)
+set(TOOLS_SOURCES
# Tools
tools/BaseExternalTool.cpp
tools/BaseExternalTool.h
@@ -287,7 +380,9 @@ set(LOGIC_SOURCES
tools/JVisualVM.h
tools/MCEditTool.cpp
tools/MCEditTool.h
+)
+set(WONKO_SOURCES
# Wonko
wonko/tasks/BaseWonkoEntityRemoteLoadTask.cpp
wonko/tasks/BaseWonkoEntityRemoteLoadTask.h
@@ -310,11 +405,36 @@ set(LOGIC_SOURCES
wonko/WonkoReference.cpp
wonko/WonkoReference.h
)
+
+add_unit_test(WonkoIndex
+ SOURCES wonko/WonkoIndex_test.cpp
+ LIBS MultiMC_logic
+ )
+
################################ COMPILE ################################
# we need zlib
find_package(ZLIB REQUIRED)
+set(LOGIC_SOURCES
+ ${CORE_SOURCES}
+ ${PATHMATCHER_SOURCES}
+ ${NET_SOURCES}
+ ${LAUNCH_SOURCES}
+ ${UPDATE_SOURCES}
+ ${NOTIFICATIONS_SOURCES}
+ ${NEWS_SOURCES}
+ ${STATUS_SOURCES}
+ ${MINECRAFT_SOURCES}
+ ${SCREENSHOTS_SOURCES}
+ ${TASKS_SOURCES}
+ ${SETTINGS_SOURCES}
+ ${JAVA_SOURCES}
+ ${TRANSLATIONS_SOURCES}
+ ${TOOLS_SOURCES}
+ ${WONKO_SOURCES}
+)
+
add_library(MultiMC_logic SHARED ${LOGIC_SOURCES})
set_target_properties(MultiMC_logic PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN 1)