Add WIX Installer

master
Unknown 2019-03-17 13:41:07 +01:00
parent 56077a9c8a
commit cb882ece0d
8 changed files with 91 additions and 9 deletions

View File

@ -1,14 +1,43 @@
cmake_minimum_required(VERSION 3.12)
project(MinetestMapperGUI
VERSION 1.0.0.0)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(getGitVersion)
project(MinetestMapperGui
VERSION ${git_version_major}.${git_version_minor}.${git_version_patch}.${git_commits_since_last_tag}
HOMEPAGE_URL "https://bitbucket.org/adrido/minetestmappergui"
DESCRIPTION "Graphical Userinterface for MinetestMapper")
set(USE_FOLDERS ON)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT "comp_sys_runtime")
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION ".")
include(InstallRequiredSystemLibraries)
add_subdirectory("Minetestmapper/")
add_subdirectory("MinetestMapperGUI/")
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION ".")
include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md")
cpack_add_component(comp_sys_runtime
DISPLAY_NAME "C++ Runtime")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt")
set(CPACK_PACKAGE_VENDOR "adrido")
set(CPACK_PACKAGE_EXECUTABLES MinetestMapperGUI "Minetest Mapper GUI")
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/MinetestMapperGUI/images/icon.ico")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}")
set(CPACK_WIX_CULTURES "en-us;en")
set(CPACK_WIX_PRODUCT_GUID "{366C1F8C-4CDD-44E9-B521-4B2541B51980}")
set(CPACK_WIX_UPGRADE_GUID "{444FE142-7C64-4F12-9F07-254A710076B1}")
set(CPACK_WIX_PRODUCT_ICON "${CPACK_PACKAGE_ICON}")
set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/WIX_UI_BANNER.BMP")
set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/WIX_UI_DIALOG.BMP")
# Schould the program menu folder be MinetestMapper or MinetestMapperGui or Minetest or empty (current)?
#set(CPACK_WIX_PROGRAM_MENU_FOLDER ".")
set(CPACK_WIX_PROPERTY_ARPCOMMENTS "${CMAKE_PROJECT_DESCRIPTION}")
set(CPACK_WIX_PROPERTY_ARPHELPLINK "${CMAKE_PROJECT_HOMEPAGE_URL}")
set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${CMAKE_PROJECT_HOMEPAGE_URL}")
include(CPack)

@ -1 +1 @@
Subproject commit a2277a972d4c1306393edd0aa89cd6fd22659a10
Subproject commit 693301a978c3c17f477eafd63f781c6c033cebba

View File

@ -1,6 +1,10 @@
MinetestMapperGUI-Bundle
========================
Windows: [![Build status](https://ci.appveyor.com/api/projects/status/c7ms6hu91mirhyn1?svg=true)](https://ci.appveyor.com/project/adrido/minetestmappergui-bundle)
Contains the Minetestmapper and the MinetestmapperGui as bundle.
Building on Windows

BIN
WIX_UI_BANNER.BMP Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

BIN
WIX_UI_DIALOG.BMP Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 KiB

View File

@ -24,7 +24,10 @@ param (
[int32]$vs_version = 15,
## Specify the qt version to use
$qt_version = "5.12.1"
$qt_version = "5.12.1",
## Build a installer instead of a portable version
[switch]$installer
)
$aTriplet = $triplet.Split('-')
@ -95,11 +98,18 @@ try {
cmake --build . --config Release
if ($LASTEXITCODE -ne 0) {throw "Error while building"}
cpack -G "ZIP"
if ($LASTEXITCODE -ne 0) {throw "Error while packing"}
if($installer){
cpack -G "WIX"
if ($LASTEXITCODE -ne 0) {throw "Error while packing Installer"}
}
else {
cpack -G "ZIP"
if ($LASTEXITCODE -ne 0) {throw "Error while packing"}
}
}
catch {
Write-Error $_.Exception.Message
exit 1
}
Finally {
Pop-Location

39
cmake/getGitVersion.cmake Normal file
View File

@ -0,0 +1,39 @@
find_package(Git REQUIRED)
execute_process(
COMMAND "${GIT_EXECUTABLE}" describe --long --dirty --tags --match v[0-9]*
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RESULT_VARIABLE git_result
OUTPUT_VARIABLE git_tag
ERROR_VARIABLE git_error
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
)
if( NOT git_result EQUAL 0 )
message( FATAL_ERROR "Failed to execute Git: ${git_error}" )
endif()
if( git_tag MATCHES "v([0-9]+).([0-9]+).([0-9]+)-([0-9]+)-g([0-9,a-f]+)(-dirty)?" )
set( git_version_major "${CMAKE_MATCH_1}" )
set( git_version_minor "${CMAKE_MATCH_2}" )
set( git_version_patch "${CMAKE_MATCH_3}" )
set( git_commits_since_last_tag "${CMAKE_MATCH_4}" )
set( git_hash "${CMAKE_MATCH_5}" )
set( git_wip "${CMAKE_MATCH_6}" )
else()
message( FATAL_ERROR "Git tag isn't valid semantic version: [${git_tag}]" )
endif()
execute_process(
COMMAND "${GIT_EXECUTABLE}" rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RESULT_VARIABLE git_result
OUTPUT_VARIABLE git_current_branch
ERROR_VARIABLE git_error
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
)
if( NOT git_result EQUAL 0 )
message( FATAL_ERROR "Failed to execute Git: ${git_error}" )
endif()