aboutsummaryrefslogtreecommitdiffstats
path: root/packaging
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-06-29 10:00:37 -0700
committerGerald Combs <gerald@wireshark.org>2015-06-29 17:07:06 +0000
commit5ae8c92aa0dfc70a1e76b8100702a285bc2638e4 (patch)
treef472f15a06023000c1c56c2a42cf6f359e8a0ebf /packaging
parentdf62a1b1e9cc6154ad81f2237b73b638f835efaf (diff)
Try to fix NSIS packaging dependencies.
Split the nsis_package target into nsis_package_prep which has dependencies and nsis_package which has no dependencies and as a result blindly builds the package. Remove the nsis_uninstaller target since that's now handled by nsis_package_prep. Nsis_package_prep *should* also take care of the dependencies for portableapps_package, but that hasn't been tested. Update the Developer's Guide. This requires coordination with the Windows buildbots. Change-Id: Ib9e3141832c782355135a1637fba5a07c2ca4ba1 Reviewed-on: https://code.wireshark.org/review/9217 Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'packaging')
-rw-r--r--packaging/nsis/CMakeLists.txt33
-rw-r--r--packaging/portableapps/CMakeLists.txt4
2 files changed, 16 insertions, 21 deletions
diff --git a/packaging/nsis/CMakeLists.txt b/packaging/nsis/CMakeLists.txt
index e72432b145..70791363f2 100644
--- a/packaging/nsis/CMakeLists.txt
+++ b/packaging/nsis/CMakeLists.txt
@@ -187,10 +187,6 @@ macro( ADD_NSIS_UNINSTALLER_TARGET )
set (_nsis_source_dir ${CMAKE_SOURCE_DIR}/packaging/nsis )
set (_nsis_binary_dir ${CMAKE_BINARY_DIR}/packaging/nsis )
- add_custom_target(nsis_uninstaller
- DEPENDS ${DATAFILE_DIR}/uninstall.exe
- )
- set_target_properties(nsis_uninstaller PROPERTIES FOLDER "Packaging")
add_custom_command(OUTPUT ${DATAFILE_DIR}/uninstall.exe
DEPENDS ${_nsis_source_dir}/uninstall.nsi
${_nsis_source_dir}/common.nsh
@@ -203,13 +199,8 @@ macro( ADD_NSIS_UNINSTALLER_TARGET )
endmacro( ADD_NSIS_UNINSTALLER_TARGET )
macro( ADD_NSIS_PACKAGE_TARGET )
- set (_nsis_package ${CMAKE_BINARY_DIR}/packaging/nsis/Wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe)
+ #set (_nsis_package ${CMAKE_BINARY_DIR}/packaging/nsis/Wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe)
- add_custom_target(nsis_package
- DEPENDS
- ${_nsis_package}
- )
- set_target_properties(nsis_package PROPERTIES FOLDER "Packaging")
# qt-dll-manifest.nsh. Created using Wireshark.exe.
add_custom_command(OUTPUT ${_nsis_binary_dir}/qt-dll-manifest.nsh
COMMAND set "PATH=%PATH%;${QT_BIN_PATH}"
@@ -217,24 +208,28 @@ macro( ADD_NSIS_PACKAGE_TARGET )
-Executable $<TARGET_FILE:wireshark>
-FilePath ${_nsis_binary_dir}/qt-dll-manifest.nsh
)
- # Dump the installer into ${CMAKE_CURRENT_SOURCE_DIR}/packaging/nsis to match
- # the NMake environment for now.
- add_custom_command(OUTPUT ${_nsis_package}
+
+ # Build NSIS package dependencies. We build the package in two stages
+ # so that nsis_package below doesn't trigger any dependencies that
+ # might clobber any signed executables.
+ add_custom_target(nsis_package_prep
DEPENDS
${NSIS_FILES}
- ${PROGLIST}
- plugins
copy_data_files
user_guides
${CMAKE_BINARY_DIR}/docbook/user-guide.chm
- # We depend on the uninstaller target and not the
- # file itself, otherwise uninstall.exe will get
- # clobbered.
- nsis_uninstaller
+ ${DATAFILE_DIR}/uninstall.exe
+ )
+
+ # Dump the installer into ${CMAKE_CURRENT_SOURCE_DIR}/packaging/nsis to match
+ # the NMake environment for now.
+ # Note that executables and DLLs *must* be built separately
+ add_custom_target(nsis_package
COMMAND ${MAKENSIS_EXECUTABLE} ${NSIS_DEFINES}
wireshark.nsi
WORKING_DIRECTORY ${_nsis_source_dir}
)
+ set_target_properties(nsis_package PROPERTIES FOLDER "Packaging")
endmacro( ADD_NSIS_PACKAGE_TARGET )
set(CLEAN_FILES
diff --git a/packaging/portableapps/CMakeLists.txt b/packaging/portableapps/CMakeLists.txt
index d401224aeb..38c428598d 100644
--- a/packaging/portableapps/CMakeLists.txt
+++ b/packaging/portableapps/CMakeLists.txt
@@ -57,13 +57,13 @@ macro( ADD_PORTABLEAPPS_PACKAGE_TARGET )
)
set_target_properties(portableapps_app_dir PROPERTIES FOLDER "Packaging")
- #Build the PortableApps package.
+ # Build the PortableApps package.
+ # nsis_package_prep must be built prior to this.
set (_portableapps_package ${CMAKE_BINARY_DIR}/packaging/portableapps/WiresharkPortable_$(VERSION).exe)
add_custom_target(portableapps_package
DEPENDS
portableapps_app_dir
${_portableapps_package}
- nsis_uninstaller
)
set_target_properties(portableapps_package PROPERTIES FOLDER "Packaging")