diff options
| author | Andrew <forkk@forkk.net> | 2013-12-09 12:04:05 -0600 |
|---|---|---|
| committer | Andrew <forkk@forkk.net> | 2013-12-09 12:04:05 -0600 |
| commit | 7f52bed9e3f559adcbcf3f3c1c7ac2251964db8c (patch) | |
| tree | 52097b57dc7d18ec4e35ef3a8e554af2d91545e8 | |
| parent | 9410dd042ea62224fa3e0eb3b525abbdf0c316ee (diff) | |
| parent | 220e07aef4a34dca9f31ae0c5bb994e5c594125d (diff) | |
| download | PrismLauncher-7f52bed9e3f559adcbcf3f3c1c7ac2251964db8c.tar.gz PrismLauncher-7f52bed9e3f559adcbcf3f3c1c7ac2251964db8c.tar.bz2 PrismLauncher-7f52bed9e3f559adcbcf3f3c1c7ac2251964db8c.zip | |
Merge branch 'feature_updater' into develop
122 files changed, 45858 insertions, 55 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 11b64c3d..6dbd2371 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,6 +97,9 @@ include_directories(${LIBSETTINGS_INCLUDE_DIR}) add_subdirectory(depends/groupview) include_directories(${LIBGROUPVIEW_INCLUDE_DIR}) +# Add the updater +add_subdirectory(mmc_updater) + ################################ SET UP BUILD OPTIONS ################################ ######## Check endianness ######## @@ -115,24 +118,54 @@ SET(MultiMC_VERSION_MINOR 0) SET(MultiMC_VERSION_BUILD -1 CACHE STRING "Build number. -1 for no build number.") # Build type -SET(MultiMC_VERSION_BUILD_TYPE "custombuild" CACHE STRING "Build type. Usually corresponds to the buildbot build name. Empty string for no build type.") +SET(MultiMC_VERSION_BUILD_TYPE "custombuild" CACHE STRING "Build type. If this is set, it is appended to the end of the version string with a dash (<version string>-<build type>. It is not used for anything other than indicating in the version string what type of build this is (eg 'lin64').") -SET(MultiMC_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}") +# Version channel +SET(MultiMC_VERSION_CHANNEL "" CACHE STRING "The current build's channel. Included in the version string.") + +# Channel list URL +SET(MultiMC_CHANLIST_URL "" CACHE STRING "URL for the channel list.") +# Updater enabled? +SET(MultiMC_UPDATER false CACHE BOOL "Whether or not the update system is enabled. If this is enabled, you must also set MultiMC_CHANLIST_URL and MultiMC_VERSION_CHANNEL in order for it to work properly.") + + +# Build a version string to display in the configure logs. +SET(MultiMC_VERSION_STRING "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}") IF (MultiMC_VERSION_BUILD GREATER -1) SET(MultiMC_VERSION_STRING "${MultiMC_VERSION_STRING}.${MultiMC_VERSION_BUILD}") ENDIF () - +IF (NOT MultiMC_VERSION_CHANNEL STREQUAL "") + SET(MultiMC_VERSION_STRING "${MultiMC_VERSION_STRING}-${MultiMC_VERSION_CHANNEL}") +ENDIF () IF (NOT MultiMC_VERSION_BUILD_TYPE STREQUAL "") SET(MultiMC_VERSION_STRING "${MultiMC_VERSION_STRING}-${MultiMC_VERSION_BUILD_TYPE}") ENDIF () MESSAGE(STATUS "MultiMC 5 version ${MultiMC_VERSION_STRING}") -# Custom target to just print the version. +# If the update system is enabled, make sure MultiMC_CHANLIST_URL and MultiMC_VERSION_CHANNEL are set. +IF (MultiMC_UPDATER) + IF (MultiMC_VERSION_CHANNEL STREQUAL "") + MESSAGE(FATAL_ERROR "Update system is enabled, but MultiMC_VERSION_CHANNEL is not set.\n" + "Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.") + ENDIF () + IF (MultiMC_CHANLIST_URL STREQUAL "") + MESSAGE(FATAL_ERROR "Update system is enabled, but MultiMC_CHANLIST_URL is not set.\n" + "Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.") + ENDIF () + IF (MultiMC_VERSION_BUILD LESS 0) + MESSAGE(FATAL_ERROR "Update system is enabled, but MultiMC_VERSION_BUILD is not set.\n" + "Please ensure the CMake variables MultiMC_VERSION_CHANNEL, MultiMC_CHANLIST_URL, and MultiMC_VERSION_BUILD are set.") + ENDIF () + + MESSAGE(STATUS "Updater is enabled. Channel list URL: ${MultiMC_CHANLIST_URL}") +ENDIF () + +#### Custom target to just print the version. ADD_CUSTOM_TARGET(version echo "Version: ${MultiMC_VERSION_STRING}") -# Check the current Git commit +#### Check the current Git commit execute_process(COMMAND git rev-parse HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} RESULT_VARIABLE GIT_COMMIT_CHECK_RESULTVAR |
