File: package.cmake

package info (click to toggle)
dlt-viewer 2.23.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 7,432 kB
  • sloc: cpp: 27,832; ansic: 4,454; xml: 491; sh: 154; makefile: 75
file content (59 lines) | stat: -rw-r--r-- 2,658 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
if(NOT WIN32)
    return()
endif()

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}-${DLT_VERSION_SUFFIX}")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt")

set(CPACK_PACKAGE_INSTALL_DIRECTORY "dlt-viewer")
set(CPACK_PACKAGE_NAME "DLTViewer")
set(CPACK_PACKAGE_VENDOR "COVESA")
set(CPACK_PACKAGE_EXECUTABLES "dlt-viewer" "DLT Viewer")

# 7Z
# Just Works.

# NSIS

# $LOCALAPPDATA is built-in NSIS variable https://nsis.sourceforge.io/Docs/Chapter4.html#varconstant
# Double escaping is needed
string(REGEX REPLACE "/" "\\\\\\\\" CPACK_NSIS_INSTALL_ROOT "$LOCALAPPDATA/Programs")

# No other way to set RequestExecutionLevel user
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/scripts/windows/nsis_cmake3.15.7)

set(CPACK_NSIS_MODIFY_PATH "ON")

# set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY ${CPACK_PACKAGE_INSTALL_DIRECTORY})
set(CPACK_NSIS_INSTALLED_ICON_NAME "dlt-viewer.exe")
# set(CPACK_NSIS_HELP_LINK ${APP_URL})
# set(CPACK_NSIS_URL_INFO_ABOUT ${APP_URL})
# set(CPACK_NSIS_CONTACT ${APP_EMAIL})

macro(addDocShortcut shortcutName fileName)
    LIST(APPEND CPACK_NSIS_CREATE_ICONS_EXTRA "  CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\${shortcutName}.lnk' '$INSTDIR\\\\doc\\\\${fileName}'")
    LIST(APPEND CPACK_NSIS_DELETE_ICONS_EXTRA "  Delete '$SMPROGRAMS\\\\$START_MENU\\\\${shortcutName}.lnk'")
endmacro()

addDocShortcut("DLT Viewer User Manual GENIVI" "dlt_viewer_user_manual.pdf")
addDocShortcut("DLT Viewer Plugins Programming Guide" "dlt_viewer_plugins_programming_guide.pdf")
addDocShortcut("DLT Viewer Plugins Overview B2B Confluence" "MGUROTO-DLTViewerPluginsOverview001.pdf")
addDocShortcut("DLT Viewer User Manual B2B Confluence" "MGUROTO-DLTViewerUserManual-120220-1029-4095.pdf")
addDocShortcut("HowTo DLTViewer SomeIP Decoding B2B Confluence" "MGUROTO-HowToDLTViewerSomeIPDecoding001.pdf")
string (REPLACE ";" "\n" CPACK_NSIS_CREATE_ICONS_EXTRA "${CPACK_NSIS_CREATE_ICONS_EXTRA}")
string (REPLACE ";" "\n" CPACK_NSIS_DELETE_ICONS_EXTRA "${CPACK_NSIS_DELETE_ICONS_EXTRA}")

# Avoid default bin subfolder
set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")

# Please be aware of Uninstall shortcut behavior https://stackoverflow.com/a/59876869

set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/src/resources/icon/org.genivi.DLTViewer.ico")
string(REGEX REPLACE "/" "\\\\\\\\" CPACK_NSIS_MUI_ICON "${CPACK_NSIS_MUI_ICON}")

# Must be last
include(CPack)