mirror of
https://github.com/transmission/transmission
synced 2024-12-23 16:24:02 +00:00
100 lines
3.1 KiB
Text
100 lines
3.1 KiB
Text
|
project(tr-dist-msi)
|
||
|
|
||
|
include(UtilityFunctions.cmake)
|
||
|
|
||
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||
|
set(ARCH x64)
|
||
|
else()
|
||
|
set(ARCH x86)
|
||
|
endif()
|
||
|
|
||
|
set(VERSION "${TR_USER_AGENT_PREFIX}")
|
||
|
set(VERSION_MSI "${TR_VERSION_MAJOR}.${TR_VERSION_MINOR}.0")
|
||
|
set(VERSION_FULL "${TR_USER_AGENT_PREFIX} (${TR_SCM_REVISION})")
|
||
|
|
||
|
if(NOT TR_THIRD_PARTY_DIR)
|
||
|
set(TR_THIRD_PARTY_DIR "$<TARGET_FILE_DIR:OpenSSL::SSL>/..")
|
||
|
endif()
|
||
|
|
||
|
if(NOT TR_QT_DIR)
|
||
|
if(USE_QT5)
|
||
|
set(TR_QT_DIR "$<TARGET_FILE_DIR:Qt5::Core>/..")
|
||
|
else()
|
||
|
set(TR_QT_DIR "$<TARGET_FILE_DIR:Qt4::Core>/..")
|
||
|
endif()
|
||
|
endif()
|
||
|
|
||
|
set(ICONS_DIR "${CMAKE_SOURCE_DIR}/qt/icons/hicolor")
|
||
|
png2ico(Transmission.ico
|
||
|
"${ICONS_DIR}/16x16/transmission-qt.png"
|
||
|
"${ICONS_DIR}/22x22/transmission-qt.png"
|
||
|
"${ICONS_DIR}/24x24/transmission-qt.png"
|
||
|
"${ICONS_DIR}/32x32/transmission-qt.png"
|
||
|
"${ICONS_DIR}/48x48/transmission-qt.png"
|
||
|
"${ICONS_DIR}/64x64/transmission-qt.png"
|
||
|
"${ICONS_DIR}/72x72/transmission-qt.png"
|
||
|
"${ICONS_DIR}/96x96/transmission-qt.png"
|
||
|
"${ICONS_DIR}/128x128/transmission-qt.png"
|
||
|
"${ICONS_DIR}/192x192/transmission-qt.png"
|
||
|
"${ICONS_DIR}/256x256/transmission-qt.png")
|
||
|
|
||
|
set(WEBSRCDIR "${CMAKE_INSTALL_PREFIX}/share/transmission/web")
|
||
|
set(TRQMSRCDIR "${CMAKE_INSTALL_PREFIX}/share/transmission/translations")
|
||
|
set(QTQMSRCDIR "${TR_QT_DIR}/translations")
|
||
|
|
||
|
configure_file(TransmissionConfig.wxi.in TransmissionConfig.wxi)
|
||
|
|
||
|
wix_heat(WebUi.wxs "${WEBSRCDIR}" WebUiComponents WEBINSTALLDIR var.WebSrcDir)
|
||
|
wix_heat(QtClientTranslations.wxs "${TRQMSRCDIR}" QtClientTranslationsComponents QMINSTALLDIR var.TrQmSrcDir)
|
||
|
wix_heat(QtTranslations.wxs "${QTQMSRCDIR}" QtTranslationsComponents QMINSTALLDIR var.QtQmSrcDir XSL_TRANSFORM QtTranslations.xsl)
|
||
|
|
||
|
wix_candle(${PROJECT_NAME}_OBJS
|
||
|
ARCHITECTURE
|
||
|
${ARCH}
|
||
|
SOURCES
|
||
|
components/CliTools.wxs
|
||
|
components/CommonLibs.wxs
|
||
|
components/Daemon.wxs
|
||
|
components/QtClient.wxs
|
||
|
Transmission.wxs
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/WebUi.wxs"
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/QtClientTranslations.wxs"
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/QtTranslations.wxs"
|
||
|
EXTENSIONS
|
||
|
WixUIExtension
|
||
|
WixUtilExtension
|
||
|
DEFINITIONS
|
||
|
"SrcDir=${CMAKE_INSTALL_PREFIX}"
|
||
|
"ThirdPartyDir=${TR_THIRD_PARTY_DIR}"
|
||
|
"QtDir=${TR_QT_DIR}"
|
||
|
"LicenseFile=${CMAKE_CURRENT_SOURCE_DIR}/GPLv2.rtf"
|
||
|
"WebSrcDir=${WEBSRCDIR}"
|
||
|
"TrQmSrcDir=${TRQMSRCDIR}"
|
||
|
"QtQmSrcDir=${QTQMSRCDIR}"
|
||
|
EXTRA_DEPENDS
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/TransmissionConfig.wxi")
|
||
|
|
||
|
wix_light(${PROJECT_NAME}_OUTPUT
|
||
|
NAME
|
||
|
transmission-${VERSION}-r${TR_SCM_REVISION}-${ARCH}
|
||
|
OBJECTS
|
||
|
${${PROJECT_NAME}_OBJS}
|
||
|
EXTENSIONS
|
||
|
WixUIExtension
|
||
|
WixUtilExtension
|
||
|
EXTRA_DEPENDS
|
||
|
"${CMAKE_CURRENT_SOURCE_DIR}/GPLv2.rtf"
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/Transmission.ico")
|
||
|
|
||
|
add_custom_target(pack-msi
|
||
|
SOURCES
|
||
|
components/CliTools.wxs
|
||
|
components/CommonLibs.wxs
|
||
|
components/Daemon.wxs
|
||
|
components/QtClient.wxs
|
||
|
QtTranslations.xsl
|
||
|
Transmission.wxs
|
||
|
TransmissionConfig.wxi.in
|
||
|
DEPENDS
|
||
|
"${${PROJECT_NAME}_OUTPUT}")
|