From bf0c0227ecefa491937a982cff6ab9cf60460ada Mon Sep 17 00:00:00 2001 From: Didier 'OdyX' Raboud Date: Wed, 30 Oct 2013 09:06:06 +0100 Subject: Fix tab-vs-space in CMake configuration file --- desktop/CMakeLists.txt | 198 ++++++++++++++++++++++++------------------------- 1 file changed, 99 insertions(+), 99 deletions(-) (limited to 'desktop/CMakeLists.txt') diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index b211563..7241757 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -1,104 +1,104 @@ cmake_minimum_required(VERSION 2.8) if(NOT PLATFORM_WINDOWS) - # Install Desktop Entry file - set(COLOBOT_DESKTOP_FILE colobot.desktop) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} - COMMAND ./create_desktop_file.sh > ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - COMMENT "Build ${COLOBOT_DESKTOP_FILE}" - ) - add_custom_target(desktopfile ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE}) - install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications/ - ) - - # Install Icon - set(COLOBOT_ICON_FILE colobot.svg) - install( - FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps/ - ) - - # Render SVG icon in various sizes - find_program(RSVG_CONVERT rsvg-convert) - if(RSVG_CONVERT) - foreach(PNGSIZE "48" "32" "16") - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}) - add_custom_target(resize_icon_${PNGSIZE} ALL - COMMAND ${RSVG_CONVERT} -w ${PNGSIZE} -h ${PNGSIZE} ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} - > ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png - ) - install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${PNGSIZE}x${PNGSIZE}/apps/ - ) - endforeach() - endif() - - # Create manpage from pod-formatted file - find_program(POD2MAN pod2man) - if(POD2MAN) - set(COLOBOT_MANPAGE_SECTION 6) - - macro(podman) - cmake_parse_arguments(PM "" "PODFILE;LOCALE;" "" ${ARGN}) - if(PM_LOCALE) - # This copes with the fact that english has no "/LANG" in the paths and filenames. - set(SLASHLOCALE /${PM_LOCALE}) - endif() - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}) - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PM_PODFILE} - COMMAND ${POD2MAN} ARGS --section=${COLOBOT_MANPAGE_SECTION} - --center="Colobot" --stderr --utf8 - --release="${COLOBOT_VERSION_FULL}" - ${CMAKE_CURRENT_SOURCE_DIR}/${PM_PODFILE} - ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} - COMMENT "Create ${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} manpage" - ) - add_custom_target(man${PM_LOCALE} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION}) - - install( - FILES ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man${SLASHLOCALE}/man${COLOBOT_MANPAGE_SECTION}/ ) - - add_dependencies(man man${PM_LOCALE}) - endmacro() - - # Create the english manpage - podman(PODFILE colobot.pod) - - endif() - - # Translate translatable material - find_program(PO4A po4a) - - if(PO4A) - add_custom_target(desktop_po4a - COMMAND ${PO4A} po4a.cfg - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - add_dependencies(desktopfile desktop_po4a) - - if(POD2MAN) - add_custom_target(man_po4a - COMMAND ${PO4A} po4a.cfg - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - add_dependencies(man man_po4a) - file(GLOB LINGUAS_PO RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/po/ ${CMAKE_CURRENT_SOURCE_DIR}/po/*.po) - string(REGEX REPLACE ".po$" "" LINGUAS ${LINGUAS_PO}) - foreach(LOCALE ${LINGUAS}) - podman(PODFILE lang/${LOCALE}/colobot.pod LOCALE ${LOCALE}) - add_dependencies(man${PM_LOCALE} man_po4a) - endforeach() - endif() - endif() - + # Install Desktop Entry file + set(COLOBOT_DESKTOP_FILE colobot.desktop) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} + COMMAND ./create_desktop_file.sh > ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMENT "Build ${COLOBOT_DESKTOP_FILE}" + ) + add_custom_target(desktopfile ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE}) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications/ + ) + + # Install Icon + set(COLOBOT_ICON_FILE colobot.svg) + install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps/ + ) + + # Render SVG icon in various sizes + find_program(RSVG_CONVERT rsvg-convert) + if(RSVG_CONVERT) + foreach(PNGSIZE "48" "32" "16") + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}) + add_custom_target(resize_icon_${PNGSIZE} ALL + COMMAND ${RSVG_CONVERT} -w ${PNGSIZE} -h ${PNGSIZE} ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} + > ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png + ) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${PNGSIZE}x${PNGSIZE}/apps/ + ) + endforeach() + endif() + + # Create manpage from pod-formatted file + find_program(POD2MAN pod2man) + if(POD2MAN) + set(COLOBOT_MANPAGE_SECTION 6) + + macro(podman) + cmake_parse_arguments(PM "" "PODFILE;LOCALE;" "" ${ARGN}) + if(PM_LOCALE) + # This copes with the fact that english has no "/LANG" in the paths and filenames. + set(SLASHLOCALE /${PM_LOCALE}) + endif() + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PM_PODFILE} + COMMAND ${POD2MAN} ARGS --section=${COLOBOT_MANPAGE_SECTION} + --center="Colobot" --stderr --utf8 + --release="${COLOBOT_VERSION_FULL}" + ${CMAKE_CURRENT_SOURCE_DIR}/${PM_PODFILE} + ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} + COMMENT "Create ${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} manpage" + ) + add_custom_target(man${PM_LOCALE} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION}) + + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man${SLASHLOCALE}/man${COLOBOT_MANPAGE_SECTION}/ ) + + add_dependencies(man man${PM_LOCALE}) + endmacro() + + # Create the english manpage + podman(PODFILE colobot.pod) + + endif() + + # Translate translatable material + find_program(PO4A po4a) + + if(PO4A) + add_custom_target(desktop_po4a + COMMAND ${PO4A} po4a.cfg + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + add_dependencies(desktopfile desktop_po4a) + + if(POD2MAN) + add_custom_target(man_po4a + COMMAND ${PO4A} po4a.cfg + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + add_dependencies(man man_po4a) + file(GLOB LINGUAS_PO RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/po/ ${CMAKE_CURRENT_SOURCE_DIR}/po/*.po) + string(REGEX REPLACE ".po$" "" LINGUAS ${LINGUAS_PO}) + foreach(LOCALE ${LINGUAS}) + podman(PODFILE lang/${LOCALE}/colobot.pod LOCALE ${LOCALE}) + add_dependencies(man${PM_LOCALE} man_po4a) + endforeach() + endif() + endif() + else() # if(NOT PLATFORM_WINDOWS) - set(COLOBOT_VERSION_4COMMAS "${COLOBOT_VERSION_MAJOR},${COLOBOT_VERSION_MINOR},${COLOBOT_VERSION_REVISION},0") - configure_file(colobot.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/colobot.rc) + set(COLOBOT_VERSION_4COMMAS "${COLOBOT_VERSION_MAJOR},${COLOBOT_VERSION_MINOR},${COLOBOT_VERSION_REVISION},0") + configure_file(colobot.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/colobot.rc) endif() -- cgit v1.2.3-1-g7c22 From d8762fdd8dcfcf9ac62704547c669be15e9c74bc Mon Sep 17 00:00:00 2001 From: Didier 'OdyX' Raboud Date: Wed, 30 Oct 2013 16:38:58 +0100 Subject: Reorder desktop/CMakeLists.txt for more platform-specific clarity --- desktop/CMakeLists.txt | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'desktop/CMakeLists.txt') diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index 7241757..f7aa5f1 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 2.8) -if(NOT PLATFORM_WINDOWS) +if(PLATFORM_LINUX) # Install Desktop Entry file set(COLOBOT_DESKTOP_FILE colobot.desktop) add_custom_command( @@ -38,12 +38,22 @@ if(NOT PLATFORM_WINDOWS) endforeach() endif() + # Translate translatable material + find_program(PO4A po4a) + if(PO4A) + add_custom_target(desktop_po4a + COMMAND ${PO4A} po4a.cfg + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + add_dependencies(desktopfile desktop_po4a) + endif() + # Create manpage from pod-formatted file find_program(POD2MAN pod2man) if(POD2MAN) set(COLOBOT_MANPAGE_SECTION 6) - macro(podman) + macro(podman) cmake_parse_arguments(PM "" "PODFILE;LOCALE;" "" ${ARGN}) if(PM_LOCALE) # This copes with the fact that english has no "/LANG" in the paths and filenames. @@ -71,19 +81,8 @@ if(NOT PLATFORM_WINDOWS) # Create the english manpage podman(PODFILE colobot.pod) - endif() - - # Translate translatable material - find_program(PO4A po4a) - - if(PO4A) - add_custom_target(desktop_po4a - COMMAND ${PO4A} po4a.cfg - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - add_dependencies(desktopfile desktop_po4a) - - if(POD2MAN) + if(PO4A) + # Translate the manpage to other languages add_custom_target(man_po4a COMMAND ${PO4A} po4a.cfg WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} @@ -97,8 +96,9 @@ if(NOT PLATFORM_WINDOWS) endforeach() endif() endif() +endif(PLATFORM_LINUX) -else() # if(NOT PLATFORM_WINDOWS) +if(PLATFORM_WINDOWS) set(COLOBOT_VERSION_4COMMAS "${COLOBOT_VERSION_MAJOR},${COLOBOT_VERSION_MINOR},${COLOBOT_VERSION_REVISION},0") configure_file(colobot.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/colobot.rc) -endif() +endif(PLATFORM_WINDOWS) -- cgit v1.2.3-1-g7c22 From 96383279321d0e467f18e570f6c84915010dea8f Mon Sep 17 00:00:00 2001 From: Didier 'OdyX' Raboud Date: Wed, 30 Oct 2013 17:05:29 +0100 Subject: Drop redundant custom_target for po4a --- desktop/CMakeLists.txt | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'desktop/CMakeLists.txt') diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index f7aa5f1..be886e5 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -83,16 +83,12 @@ if(PLATFORM_LINUX) if(PO4A) # Translate the manpage to other languages - add_custom_target(man_po4a - COMMAND ${PO4A} po4a.cfg - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - add_dependencies(man man_po4a) + add_dependencies(man desktop_po4a) file(GLOB LINGUAS_PO RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/po/ ${CMAKE_CURRENT_SOURCE_DIR}/po/*.po) string(REGEX REPLACE ".po$" "" LINGUAS ${LINGUAS_PO}) foreach(LOCALE ${LINGUAS}) podman(PODFILE lang/${LOCALE}/colobot.pod LOCALE ${LOCALE}) - add_dependencies(man${PM_LOCALE} man_po4a) + add_dependencies(man${PM_LOCALE} desktop_po4a) endforeach() endif() endif() -- cgit v1.2.3-1-g7c22 From 11dd911faf9763382431162985b8363a39ffe481 Mon Sep 17 00:00:00 2001 From: Didier 'OdyX' Raboud Date: Wed, 30 Oct 2013 17:08:12 +0100 Subject: Under MacOSX, generate an Info.plist --- desktop/CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'desktop/CMakeLists.txt') diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index be886e5..3bf1011 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -94,6 +94,13 @@ if(PLATFORM_LINUX) endif() endif(PLATFORM_LINUX) +if(PLATFORM_MACOSX) + configure_file(Info.plist.cmake ${CMAKE_CURRENT_BINARY_DIR}/Info.plist) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Info.plist + DESTINATION ${CMAKE_INSTALL_PREFIX}/Contents/ + ) +endif(PLATFORM_MACOSX) + if(PLATFORM_WINDOWS) set(COLOBOT_VERSION_4COMMAS "${COLOBOT_VERSION_MAJOR},${COLOBOT_VERSION_MINOR},${COLOBOT_VERSION_REVISION},0") configure_file(colobot.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/colobot.rc) -- cgit v1.2.3-1-g7c22 From 68d9a72357016206db6578e0137b3e8227865fbd Mon Sep 17 00:00:00 2001 From: Didier 'OdyX' Raboud Date: Wed, 30 Oct 2013 17:18:53 +0100 Subject: Generate an icns icon on Mac OSX --- desktop/CMakeLists.txt | 57 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 17 deletions(-) (limited to 'desktop/CMakeLists.txt') diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index 3bf1011..6dc3d1c 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -1,5 +1,45 @@ cmake_minimum_required(VERSION 2.8) +set(COLOBOT_ICON_FILE colobot.svg) + +# Render SVG icon in various sizes +find_program(RSVG_CONVERT rsvg-convert) +if(RSVG_CONVERT AND (PLATFORM_LINUX OR PLATFORM_MACOSX)) + add_custom_target(png-icons ALL) + foreach(PNGSIZE 512 256 128 48 32 16) + add_custom_command( + OUTPUT ${PNGSIZE}/colobot.png + COMMAND mkdir -p ${PNGSIZE} + COMMAND ${RSVG_CONVERT} -w ${PNGSIZE} -h ${PNGSIZE} ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} > ${PNGSIZE}/colobot.png + ) + add_custom_target(png-icon-${PNGSIZE} ALL DEPENDS ${PNGSIZE}/colobot.png) + add_dependencies(png-icons png-icon-${PNGSIZE}) + + if(PLATFORM_LINUX) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${PNGSIZE}x${PNGSIZE}/apps/ + ) + endif() + # Prepare the ICNS icon generation + list(APPEND ICNS_SRCS "${PNGSIZE}/colobot.png") + endforeach() + + # Pack icon for Mac OS + find_program(PNG2ICNS png2icns) + if(PNG2ICNS AND PLATFORM_MACOSX) + add_custom_command(OUTPUT Colobot.icns + COMMAND ${PNG2ICNS} Colobot.icns ${ICNS_SRCS} + DEPENDS png-icons + ) + add_custom_target(icns-icon ALL DEPENDS Colobot.icns) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Colobot.icns + DESTINATION ${CMAKE_INSTALL_PREFIX}/Contents/Resources/ + ) + endif() + +endif() + if(PLATFORM_LINUX) # Install Desktop Entry file set(COLOBOT_DESKTOP_FILE colobot.desktop) @@ -16,28 +56,11 @@ if(PLATFORM_LINUX) ) # Install Icon - set(COLOBOT_ICON_FILE colobot.svg) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps/ ) - # Render SVG icon in various sizes - find_program(RSVG_CONVERT rsvg-convert) - if(RSVG_CONVERT) - foreach(PNGSIZE "48" "32" "16") - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}) - add_custom_target(resize_icon_${PNGSIZE} ALL - COMMAND ${RSVG_CONVERT} -w ${PNGSIZE} -h ${PNGSIZE} ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} - > ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png - ) - install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${PNGSIZE}x${PNGSIZE}/apps/ - ) - endforeach() - endif() - # Translate translatable material find_program(PO4A po4a) if(PO4A) -- cgit v1.2.3-1-g7c22 From fda831d991708af79a8719d404662f97e497e095 Mon Sep 17 00:00:00 2001 From: Didier 'OdyX' Raboud Date: Fri, 8 Nov 2013 16:52:42 +0100 Subject: Add MacOSX Bundle and Windows NSIS installer - Add two images from screenshots or existing data textures to brand the NSIS installer --- desktop/CMakeLists.txt | 62 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 6 deletions(-) (limited to 'desktop/CMakeLists.txt') diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index 6dc3d1c..9fa0c5e 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -33,9 +33,6 @@ if(RSVG_CONVERT AND (PLATFORM_LINUX OR PLATFORM_MACOSX)) DEPENDS png-icons ) add_custom_target(icns-icon ALL DEPENDS Colobot.icns) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Colobot.icns - DESTINATION ${CMAKE_INSTALL_PREFIX}/Contents/Resources/ - ) endif() endif() @@ -119,12 +116,65 @@ endif(PLATFORM_LINUX) if(PLATFORM_MACOSX) configure_file(Info.plist.cmake ${CMAKE_CURRENT_BINARY_DIR}/Info.plist) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Info.plist - DESTINATION ${CMAKE_INSTALL_PREFIX}/Contents/ - ) endif(PLATFORM_MACOSX) if(PLATFORM_WINDOWS) set(COLOBOT_VERSION_4COMMAS "${COLOBOT_VERSION_MAJOR},${COLOBOT_VERSION_MINOR},${COLOBOT_VERSION_REVISION},0") configure_file(colobot.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/colobot.rc) endif(PLATFORM_WINDOWS) + + +## +# Packaging +## +set(CPACK_BUNDLE_NAME "Colobot") +set(CPACK_PACKAGE_FILE_NAME "colobot-${COLOBOT_VERSION_FULL}") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../README.md") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Colobot - Colonize with Bots") +set(CPACK_PACKAGE_VENDOR "Polish Portal of Colobot") + +set(CPACK_PACKAGE_VERSION_MAJOR ${COLOBOT_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${COLOBOT_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${COLOBOT_VERSION_REVISION}) + +if(PLATFORM_WINDOWS) + set(CPACK_STRIP_FILES TRUE) + + # Don't version the install directory, and allow overwriting + set(CPACK_PACKAGE_INSTALL_DIRECTORY "Colobot") + set(CPACK_NSIS_DEFINES "SetOverwrite on\nBrandingText \\\"Colobot ${COLOBOT_VERSION_CODENAME} (${COLOBOT_VERSION_FULL})\\\"") + # Install the executable directly in Program Files/Colobot/ + set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".") + set(CPACK_PACKAGE_EXECUTABLES "colobot" "Colobot ${COLOBOT_VERSION_CODENAME}") + + # Branding + ## Installation and uninstallation icons + set(CPACK_NSIS_MUI_ICON ${CMAKE_CURRENT_SOURCE_DIR}/colobot.ico) + set(CPACK_NSIS_MUI_UNIICON ${CMAKE_CURRENT_SOURCE_DIR}/colobot.ico) + ## Header and Left banner images + set(CPACK_PACKAGE_ICON "") + set(CPACK_NSIS_INSTALLER_ICON_CODE "!define MUI_HEADERIMAGE_BITMAP \\\"${CMAKE_CURRENT_SOURCE_DIR}/colobot_nsis.bmp\\\" + !define MUI_WELCOMEFINISHPAGE_BITMAP \\\"${CMAKE_CURRENT_SOURCE_DIR}/colobot_nsis_left.bmp\\\"") + + ## Allow to directly run Colobot at the end of the installation + set(CPACK_NSIS_MUI_FINISHPAGE_RUN "colobot.exe") + + ## TODO: Find a way to have no license prompt. Until that, display the GPL-3 + set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE.txt) + +elseif(PLATFORM_MACOSX) + set(CPACK_GENERATOR "Bundle") + set(CPACK_BUNDLE_ICON ${CMAKE_CURRENT_BINARY_DIR}/Colobot.icns) + set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_BINARY_DIR}/Colobot.icns) + set(CPACK_BUNDLE_PLIST ${CMAKE_CURRENT_BINARY_DIR}/Info.plist) + + set(CPACK_BINARY_DRAGNDROP ON) + + install(CODE " + include(BundleUtilities) + message(STATUS \"fixup_bundle(\${CMAKE_INSTALL_PREFIX}/${COLOBOT_INSTALL_BIN_DIR}/colobot/\") + fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${COLOBOT_INSTALL_BIN_DIR}/colobot\" \"\" \"\") + ") +endif() + +include(CPack) -- cgit v1.2.3-1-g7c22