forked from speed-dreams/speed-dreams-code
Add OPTION_ALL_IN_ONE_PACKAGING to make one big installer for Windows(off by default)
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@8322 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 582464d0e8cc5d0012201ef40649cc4d2d997787 Former-commit-id: 35e68c900e120d7990fa1cc0e84378e7e96d759e
This commit is contained in:
parent
681b24b9d8
commit
a1ec191819
3 changed files with 44 additions and 24 deletions
|
@ -235,15 +235,18 @@ IF(OPTION_CHECK_CONTENTS)
|
|||
INCLUDE(cmake/prerelease.cmake)
|
||||
ENDIF(OPTION_CHECK_CONTENTS)
|
||||
|
||||
IF(OPTION_PACKAGING)
|
||||
IF(OPTION_PACKAGING OR OPTION_ALL_IN_ONE_PACKAGING)
|
||||
INCLUDE(cmake/packagemaker.cmake)
|
||||
ENDIF(OPTION_PACKAGING OR OPTION_ALL_IN_ONE_PACKAGING)
|
||||
IF(OPTION_PACKAGING)
|
||||
IF(MSVC)
|
||||
INCLUDE(cmake/packagemaker-nsis.cmake)
|
||||
ENDIF(MSVC)
|
||||
IF(APPLE)
|
||||
INCLUDE(cmake/packagemaker-dmg.cmake)
|
||||
ENDIF(APPLE)
|
||||
ELSE(OPTION_PACKAGING)
|
||||
# Configure CPack.
|
||||
INCLUDE(CPack)
|
||||
ENDIF(OPTION_PACKAGING)
|
||||
|
||||
IF(OPTION_ALL_IN_ONE_PACKAGING)
|
||||
INCLUDE(CPack)
|
||||
ENDIF(OPTION_ALL_IN_ONE_PACKAGING)
|
||||
|
|
|
@ -86,6 +86,8 @@ MACRO(ADD_SD_COMPILE_OPTIONS)
|
|||
|
||||
SET(OPTION_PACKAGING true CACHE BOOL "Enable Packaging for distribution")
|
||||
|
||||
SET(OPTION_ALL_IN_ONE_PACKAGING false CACHE BOOL "Enable CPack's monolithic PACKAGE")
|
||||
|
||||
SET(OPTION_TRACKEDITOR true CACHE BOOL "Build the TrackEditor (Requires Java)")
|
||||
|
||||
IF(APPLE)
|
||||
|
|
|
@ -12,7 +12,7 @@ ENDIF()
|
|||
SET(INTERNAL_NAME "speed-dreams")
|
||||
|
||||
SET(CPACK_PACKAGE_NAME "Speed Dreams")
|
||||
SET(CPACK_PACKAGE_VENDOR "the Speed Dreams team")
|
||||
SET(CPACK_PACKAGE_VENDOR "The Speed Dreams team")
|
||||
SET(CPACK_PACKAGE_CONTACT "http:\\\\\\\\www.speed-dreams.org")
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Speed Dreams (an Open Motorsport Sim) is a racing simulation that allows you to drive in races against opponents simulated by the computer ; it is GPL 2+ and has been forked from TORCS in late 2008")
|
||||
SET(CPACK_RESOURCE_FILE_LICENSE "${SOURCE_DIR}/COPYING.txt")
|
||||
|
@ -23,16 +23,16 @@ SET(CPACK_PACKAGE_EXECUTABLES "${EXECUTABLE_NAME};Start ${CPACK_PACKAGE_NAME}")
|
|||
|
||||
# Version settings.
|
||||
# * the short way.
|
||||
SET(CPACK_PACKAGE_VERSION "${VERSION_LONG}")
|
||||
#SET(CPACK_PACKAGE_VERSION "${VERSION_LONG}")
|
||||
|
||||
# * another way.
|
||||
#SET(CPACK_PACKAGE_VERSION_MAJOR "2")
|
||||
#SET(CPACK_PACKAGE_VERSION_MINOR "0")
|
||||
#SET(CPACK_PACKAGE_VERSION_PATCH "0")
|
||||
#SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-alpha")
|
||||
#IF(NOT SVN_FIND_REV_FAILED)
|
||||
# SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-r${SVN_REV}")
|
||||
#ENDIF(NOT SVN_FIND_REV_FAILED)
|
||||
SET(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
|
||||
SET(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
|
||||
SET(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
|
||||
SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${PROJECT_VERSION_METADATA}")
|
||||
IF(NOT SVN_FIND_REV_FAILED)
|
||||
SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-r${SVN_REV}")
|
||||
ENDIF(NOT SVN_FIND_REV_FAILED)
|
||||
|
||||
# Binary package settings.
|
||||
SET(PACKAGE_FILE_PREFIX "${INTERNAL_NAME}")
|
||||
|
@ -87,7 +87,9 @@ IF(WIN32)
|
|||
# General note: There is a bug in NSI that does not handle full unix paths properly.
|
||||
# Make sure there is at least one set of four (4) backlasshes.
|
||||
|
||||
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${INTERNAL_NAME}-${VERSION_LONG}")
|
||||
SET(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL True)
|
||||
|
||||
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${INTERNAL_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${PROJECT_VERSION_METADATA}")
|
||||
|
||||
SET(EXECUTABLE_PATHNAME "$INSTDIR\\\\bin\\\\${EXECUTABLE_NAME}.exe")
|
||||
|
||||
|
@ -97,12 +99,13 @@ IF(WIN32)
|
|||
MARK_AS_ADVANCED(PACKAGERS_SOURCE)
|
||||
|
||||
SET(CPACK_PACKAGE_FILE_NAME "${PACKAGE_FILE_PREFIX}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}-setup")
|
||||
SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
|
||||
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_NSIS_DISPLAY_NAME}")
|
||||
SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION_MAJOR}${PROJECT_VERSION_METADATA}")
|
||||
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION_MAJOR}")
|
||||
#SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||
|
||||
# Icon for the generated installer/uninstaller files.
|
||||
SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}\\\\data\\\\data\\\\icons\\\\icon.ico")
|
||||
#SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}\\\\data\\\\data\\\\icons\\\\icon.ico")
|
||||
SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}\\\\data\\\\data\\\\icons\\\\icon.ico")
|
||||
SET(CPACK_PACKAGE_ICON ${CMAKE_SOURCE_DIR}\\\\data\\\\data\\\\img\\\\header.bmp)
|
||||
|
||||
# Extra shortcuts to add in the start menu (a list of pairs : URL, Menu label).
|
||||
|
@ -110,9 +113,12 @@ IF(WIN32)
|
|||
"${CPACK_PACKAGE_CONTACT}" "Project Homepage")
|
||||
#"$INSTDIR\\\\share\\\\doc\\\\userman\\\\how_to_drive.html" "User manual")
|
||||
|
||||
# Icon in the add/remove control panel. Must be an .exe file
|
||||
# Icon in the add/remove control panel. Must be an .exe file
|
||||
Set(CPACK_NSIS_INSTALLED_ICON_NAME "${EXECUTABLE_PATHNAME}")
|
||||
|
||||
# Executable to (optionally) run after install
|
||||
SET(CPACK_NSIS_MUI_FINISHPAGE_RUN "${EXECUTABLE_PATHNAME}")
|
||||
|
||||
SET(CPACK_NSIS_URL_INFO_ABOUT "${CPACK_PACKAGE_CONTACT}")
|
||||
SET(CPACK_NSIS_HELP_LINK "${CPACK_PACKAGE_CONTACT}")
|
||||
|
||||
|
@ -127,9 +133,18 @@ IF(WIN32)
|
|||
|
||||
# But this works.
|
||||
SET(SHORTCUT_TARGET "$DESKTOP\\\\${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}.lnk")
|
||||
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
|
||||
"CreateShortCut \\\"${SHORTCUT_TARGET}\\\" \\\"${EXECUTABLE_PATHNAME}\\\"")
|
||||
SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "Delete \\\"${SHORTCUT_TARGET}\\\"")
|
||||
|
||||
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
|
||||
CreateShortCut \\\"${SHORTCUT_TARGET}\\\" \\\"${EXECUTABLE_PATHNAME}\\\"
|
||||
WriteRegStr HKLM 'Software\\\\${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_INSTALL_REGISTRY_KEY}' 'VersionExtra' '${PROJECT_VERSION_METADATA}'
|
||||
WriteRegDWORD HKLM 'Software\\\\${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_INSTALL_REGISTRY_KEY}' 'VersionMajor' '${CPACK_PACKAGE_VERSION_MAJOR}'
|
||||
WriteRegDWORD HKLM 'Software\\\\${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_INSTALL_REGISTRY_KEY}' 'VersionMinor' '${CPACK_PACKAGE_VERSION_MINOR}'
|
||||
WriteRegDWORD HKLM 'Software\\\\${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_INSTALL_REGISTRY_KEY}' 'VersionPatch' '${CPACK_PACKAGE_VERSION_PATCH}'
|
||||
")
|
||||
|
||||
SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
|
||||
Delete \\\"${SHORTCUT_TARGET}\\\"
|
||||
")
|
||||
|
||||
# Source package specific settings.
|
||||
LIST(APPEND CPACK_SOURCE_IGNORE_FILES
|
||||
|
@ -140,9 +155,9 @@ IF(WIN32)
|
|||
|
||||
# Add the PACKAGE_SRC project in the MSVC solution
|
||||
# (CMake 2.6 and 2.8 fail to do this itself).
|
||||
ADD_CUSTOM_TARGET(PACKAGE_SRC)
|
||||
ADD_CUSTOM_COMMAND(TARGET PACKAGE_SRC
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -C $(OutDir) --config ./CPackSourceConfig.cmake)
|
||||
#ADD_CUSTOM_TARGET(PACKAGE_SRC)
|
||||
#ADD_CUSTOM_COMMAND(TARGET PACKAGE_SRC
|
||||
# COMMAND ${CMAKE_CPACK_COMMAND} -C $(OutDir) --config ./CPackSourceConfig.cmake)
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
|
Loading…
Reference in a new issue