Я пытаюсь создать установщик Windows с помощью CPACK и NSIS. Я использую Windows 10, CMake GUI, NSIS и Visual Studio Community Edition.
Он отлично работает, за исключением того, что я не могу найти параметры, поэтому место установки по умолчанию будет:
C:\package-version.patch (e.g. C:\apbs-3.0)
Программное обеспечение apbs является совместным усилием и является кроссплатформенным, но ему не нравятся «пробелы» в именах путей, поэтому расположение по умолчанию для NSIS на Windows 10 x64:
C:\Program Files\package version (e.g. C:\Program Files\apbs 3.0\)
Ближайшее, что я нашел, это:
C:\\apbs 3.0
с использованием следующей конфигурации:
string(TOLOWER ${PROJECT_NAME} PACKAGE_NAME)
set(CPACK_PACKAGE_NAME "${PACKAGE_NAME}")
set(CPACK_PACKAGE_DESCRIPTION "${PACKAGE_DESC}")
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/../LICENSE.md")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.md")
set(CPACK_PACKAGING_INSTALL_PREFIX "${PACKAGE_NAME}")
set(CPACK_PACKAGE_VERSION "${APBS_VERSION}")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_VENDOR "${VENDOR}")
set(CPACK_PACKAGE_CONTACT "${CONTACT}")
set(CPACK_PACKAGE_FILE_NAME "${PACKAGE_NAME}-${APBS_VERSION}")
set(CPACK_STRIP_FILES ON)
if(WIN32)
# From: https://martinrotter.github.io/it-programming/2014/05/09/integrating-nsis-cmake/
list(APPEND CPACK_GENERATOR "NSIS")
set(CPACK_PACKAGING_INSTALL_PREFIX "\\\\${PACKAGE_NAME}-${APBS_VERSION}")
set(CPACK_NSIS_INSTALL_ROOT "C:\\\\")
endif()
include (CPack)
Есть ли волшебный / недокументированный набор переменных CPACK для устранения лишних '\' и замените "пробел" на '-', чтобы я мог получить установку по умолчанию?
C:\apbs-3.0\