summaryrefslogtreecommitdiffstats
path: root/libmultimc/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'libmultimc/CMakeLists.txt')
-rw-r--r--libmultimc/CMakeLists.txt96
1 files changed, 96 insertions, 0 deletions
diff --git a/libmultimc/CMakeLists.txt b/libmultimc/CMakeLists.txt
new file mode 100644
index 00000000..06102d9f
--- /dev/null
+++ b/libmultimc/CMakeLists.txt
@@ -0,0 +1,96 @@
+project(libMultiMC)
+
+set(CMAKE_AUTOMOC ON)
+
+# Find Qt
+find_package(Qt5Core REQUIRED)
+find_package(Qt5Network REQUIRED)
+
+# Include Qt headers.
+include_directories(${Qt5Base_INCLUDE_DIRS})
+include_directories(${Qt5Network_INCLUDE_DIRS})
+
+# Include utility library.
+include_directories(${CMAKE_SOURCE_DIR}/libutil/include)
+
+# Include settings library.
+include_directories(${CMAKE_SOURCE_DIR}/libsettings/include)
+
+SET(LIBINST_HEADERS
+include/libmmc_config.h
+
+
+# Instance Stuff
+include/instance.h
+include/instancelist.h
+include/instanceloader.h
+
+include/instversion.h
+include/instversionlist.h
+
+
+# Plugin Stuff
+include/pluginmanager.h
+include/instancetypeinterface.h
+
+
+# Tasks
+include/task.h
+include/logintask.h
+include/gameupdatetask.h
+
+
+# Login Data
+include/userinfo.h
+include/loginresponse.h
+
+
+# Misc Data
+include/version.h
+include/appsettings.h
+include/minecraftprocess.h
+)
+
+SET(LIBINST_SOURCES
+# Instance Stuff
+src/instance.cpp
+src/instancelist.cpp
+src/instanceloader.cpp
+
+src/instversion.cpp
+src/instversionlist.cpp
+
+
+# Plugin Stuff
+src/pluginmanager.cpp
+
+
+# Tasks
+src/task.cpp
+src/logintask.cpp
+src/gameupdatetask.cpp
+
+
+# Login Data
+src/userinfo.cpp
+src/loginresponse.cpp
+
+
+# Misc Data
+src/version.cpp
+src/appsettings.cpp
+src/minecraftprocess.cpp
+)
+
+# Set the include dir path.
+SET(LIBMULTIMC_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include" PARENT_SCOPE)
+
+# Include self.
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
+include_directories(${CMAKE_BINARY_DIR}/include)
+
+add_definitions(-DLIBMULTIMC_LIBRARY)
+
+add_library(libMultiMC SHARED ${LIBINST_SOURCES} ${LIBINST_HEADERS})
+qt5_use_modules(libMultiMC Core Network)
+target_link_libraries(libMultiMC libUtil libSettings)