summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJan Dalheimer <jan@dalheimer.de>2015-02-12 22:01:20 +0100
committerJan Dalheimer <jan@dalheimer.de>2015-02-19 21:04:27 +0100
commita53f8d506e212f862f54e5a758fb50666ec7c3ba (patch)
tree6b2cab86af0e34eabaec17a82893284f20323cd7 /CMakeLists.txt
parentf9a17eb9deb559ee01fd7e6c67d80c4f93badf28 (diff)
downloadMultiMC-a53f8d506e212f862f54e5a758fb50666ec7c3ba.tar
MultiMC-a53f8d506e212f862f54e5a758fb50666ec7c3ba.tar.gz
MultiMC-a53f8d506e212f862f54e5a758fb50666ec7c3ba.tar.lz
MultiMC-a53f8d506e212f862f54e5a758fb50666ec7c3ba.tar.xz
MultiMC-a53f8d506e212f862f54e5a758fb50666ec7c3ba.zip
GH-366: Plain and simple modpack export/import/download
Also removed the in-source QuaZIP in favour of upstream version
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt21
1 files changed, 18 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c26f57e6..60e6d1b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -210,10 +210,23 @@ set(DIRS "${QT_LIBS_DIR}")
################################ Included Libs ################################
+include(ExternalProject)
+set_directory_properties(PROPERTIES EP_BASE External)
+
# Add quazip
add_definitions(-DQUAZIP_STATIC)
-add_subdirectory(depends/quazip)
-include_directories(depends/quazip)
+set(QUAZIP_VERSION "0.7.1")
+if(NOT EXISTS ${CMAKE_BINARY_DIR}/quazip-${QUAZIP_VERSION}.tar.gz)
+ file(DOWNLOAD http://downloads.sourceforge.net/project/quazip/quazip/${QUAZIP_VERSION}/quazip-${QUAZIP_VERSION}.tar.gz ${CMAKE_BINARY_DIR}/quazip-${QUAZIP_VERSION}.tar.gz)
+endif()
+ExternalProject_Add(QuaZIP
+ SOURCE_DIR <BINARY_DIR>/../Source/quazip-${QUAZIP_VERSION}
+ DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/.. ${CMAKE_COMMAND} -E tar xzf ${CMAKE_BINARY_DIR}/quazip-${QUAZIP_VERSION}.tar.gz
+ PATCH_COMMAND patch -p0 -i ${CMAKE_SOURCE_DIR}/quazip.patch
+ CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
+)
+include_directories("${CMAKE_BINARY_DIR}/External/Install/QuaZIP/include/quazip")
+set(QUAZIP_LIBRARIES -L"${CMAKE_BINARY_DIR}/External/Install/QuaZIP/lib" quazip)
# Add the java launcher and checker
add_subdirectory(depends/launcher)
@@ -728,10 +741,12 @@ 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 LogicalGui ${MultiMC_LINK_ADDITIONAL_LIBS})
+target_link_libraries(MultiMC_common xz-embedded unpack200 libUtil LogicalGui ${QUAZIP_LIBRARIES} ${MultiMC_LINK_ADDITIONAL_LIBS})
qt5_use_modules(MultiMC Core Widgets Network Xml Concurrent WebKitWidgets ${MultiMC_QT_ADDITIONAL_MODULES})
qt5_use_modules(MultiMC_common Core Widgets Network Xml Concurrent WebKitWidgets ${MultiMC_QT_ADDITIONAL_MODULES})
+add_dependencies(MultiMC_common QuaZip)
+
################################ INSTALLATION AND PACKAGING ################################
######## Install ########