diff options
author | Gerald Combs <gerald@wireshark.org> | 2015-01-06 15:07:50 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-03-12 22:47:42 +0000 |
commit | 2ef72cb7aa87854037defa1fdb91979f01b925cb (patch) | |
tree | e694ac2bfe98f6c8f8c4f574eab5e9058b26a7f8 | |
parent | 436a0645138515480730f1e1679b47f30cc88f79 (diff) |
CMake: Add a top-level nsis_package target.
Add packaging/nsis/CMakeLists.txt and use it to generate each NSIS include
file. Add macros to generate packaging-related targets and invoke them
from the top-level CMakeLists.txt.
Add a top-level "plugins" target. Copy plugins to "plugins" in each of
our staging directories instead of "plugins/$VERSION".
Add missing files to the copy_data_files and copy_cli_dlls targets.
Add all files in the NSIS package from the staging directory.
Drop a bunch of no-longer-needed defines, e.g. MSVC_VARIANT.
Change-Id: Ib1079260d164c65118050f1431af8e582cd577fa
Reviewed-on: https://code.wireshark.org/review/6459
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
-rw-r--r-- | CMakeLists.txt | 78 | ||||
-rw-r--r-- | Makefile.nmake | 2 | ||||
-rw-r--r-- | cmake/modules/FindNSIS.cmake | 15 | ||||
-rw-r--r-- | cmake/modules/WiresharkPlugin.cmake | 1 | ||||
-rwxr-xr-x | make-version.pl | 5 | ||||
-rw-r--r-- | packaging/nsis/CMakeLists.txt | 234 | ||||
-rw-r--r-- | packaging/nsis/Makefile.nmake | 32 | ||||
-rwxr-xr-x | packaging/nsis/common.nsh | 4 | ||||
-rw-r--r-- | packaging/nsis/config.nsh.in | 93 | ||||
-rwxr-xr-x | packaging/nsis/uninstall.nsi | 2 | ||||
-rw-r--r-- | packaging/nsis/wireshark.nsi | 566 | ||||
-rw-r--r-- | plugins/Makefile.nmake | 5 | ||||
-rw-r--r-- | ui/qt/Wireshark.pro | 4 |
13 files changed, 639 insertions, 402 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index efe27a9553..dd37e34311 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,12 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # +#=to do: +# - Make NSIS targets top-level +# - Move nsis/CMakeLists.txt to UseNSIS.cmake +# +# - Make CHM depend on HHC_EXECUTABLE (separate commit) + project(Wireshark C CXX) cmake_minimum_required(VERSION 2.8.3) @@ -92,11 +98,14 @@ endif() #Defines CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_DATADIR, etc ... include(CMakeInstallDirs) +# Updated by make-version.pl +set(GIT_REVISION 0) set(PROJECT_MAJOR_VERSION 1) set(PROJECT_MINOR_VERSION 99) set(PROJECT_PATCH_VERSION 4) +set(PROJECT_BUILD_VERSION ${GIT_REVISION}) set(PROJECT_VERSION_EXTENSION "$ENV{WIRESHARK_VERSION_EXTRA}") -set(PROJECT_VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION}${PROJECT_VERSION_EXTENSION}) +set(PROJECT_VERSION "${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION}${PROJECT_VERSION_EXTENSION}") # Banner shown at top right of Qt welcome screen. if(DEFINED ENV{WIRESHARK_VERSION_FLAVOR}) @@ -109,7 +118,8 @@ endif() set(VERSION_MAJOR ${PROJECT_MAJOR_VERSION}) set(VERSION_MINOR ${PROJECT_MINOR_VERSION}) set(VERSION_MICRO ${PROJECT_PATCH_VERSION}) -set(RC_VERSION ${PROJECT_MAJOR_VERSION},${PROJECT_MINOR_VERSION},${PROJECT_PATCH_VERSION},0) +set(VERSION_BUILD ${PROJECT_BUILD_VERSION}) +set(RC_VERSION ${PROJECT_MAJOR_VERSION},${PROJECT_MINOR_VERSION},${PROJECT_PATCH_VERSION},${PROJECT_BUILD_VERSION}) message(STATUS "V: ${PROJECT_VERSION}, MaV: ${PROJECT_MAJOR_VERSION}, MiV: ${PROJECT_MINOR_VERSION}, PL: ${PROJECT_PATCH_VERSION}, EV: ${PROJECT_VERSION_EXTENSION}.") @@ -884,6 +894,8 @@ endif() # from the build directory similar to DATAFILE_DIR above. if(ENABLE_PLUGINS) set(HAVE_PLUGINS 1) + add_custom_target(plugins) + set_target_properties(plugins PROPERTIES FOLDER "Plugins") if(IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR}) set(PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/@CPACK_PACKAGE_NAME@/plugins/${CPACK_PACKAGE_VERSION}") else() @@ -1123,7 +1135,10 @@ set(INSTALL_FILES ) if(WIN32) - set(INSTALL_FILES ${CMAKE_BINARY_DIR}/COPYING.txt ${INSTALL_FILES}) + set(TEXTIFY_FILES COPYING NEWS README README.windows) + foreach(_text_file ${TEXTIFY_FILES}) + set(INSTALL_FILES ${CMAKE_BINARY_DIR}/${_text_file}.txt ${INSTALL_FILES}) + endforeach() else() set(INSTALL_FILES COPYING ${INSTALL_FILES}) endif() @@ -1195,6 +1210,16 @@ if(WIN32) "${_dll_output_dir}" ) endforeach(_dll) + file(GLOB _gspawn_helpers + "${GLIB2_DLL_DIR}/gspawn*.exe" + ) + foreach(_gspawn_helper ${_gspawn_helpers}) + add_custom_command(TARGET copy_cli_dlls PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${_gspawn_helper}" + "${_dll_output_dir}" + ) + endforeach() # Optional if (AIRPCAP_FOUND) @@ -1341,13 +1366,15 @@ if(ENABLE_APPLICATION_BUNDLE) endif() if(WIN32) - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/COPYING.txt - COMMAND ${POWERSHELL_COMMAND} "${CMAKE_SOURCE_DIR}/tools/textify.ps1" - -Destination ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/COPYING - DEPENDS - ${CMAKE_SOURCE_DIR}/COPYING - ) + foreach(_text_file ${TEXTIFY_FILES}) + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${_text_file}.txt + COMMAND ${POWERSHELL_COMMAND} "${CMAKE_SOURCE_DIR}/tools/textify.ps1" + -Destination ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/${_text_file} + DEPENDS + ${CMAKE_SOURCE_DIR}/${_text_file} + ) + endforeach() endif() foreach(_install_file ${INSTALL_FILES}) @@ -1394,6 +1421,14 @@ else() ) endforeach() endif(WIN32) +add_custom_command(TARGET copy_data_files PRE_BUILD + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/help/faq.py > faq.tmp.html + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/html2text.py + --width=72 --no-links faq.tmp.html + > "${DATAFILE_DIR}/help/faq.txt" + COMMAND ${CMAKE_COMMAND} -E remove faq.tmp.html +) + if(LUA_FOUND) add_custom_command(TARGET copy_data_files PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory @@ -1444,6 +1479,11 @@ foreach(_diameter_file ${_diameter_files}) ) endforeach() add_custom_command(TARGET copy_data_files PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${CMAKE_SOURCE_DIR}/profiles" + "${DATAFILE_DIR}/profiles" +) +add_custom_command(TARGET copy_data_files PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${DATAFILE_DIR}/tpncp" ) @@ -1622,19 +1662,22 @@ if(BUILD_wireshark AND QT_FOUND) # http://stackoverflow.com/questions/24650936/qt5-with-cmake-how-to-find-qt-translations-dir get_target_property(_qmake_location Qt5::qmake IMPORTED_LOCATION) - get_filename_component(_qt_bindir "${_qmake_location}" DIRECTORY) + get_filename_component(_qt_bin_path "${_qmake_location}" DIRECTORY) find_program(QT_WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${_qmake_location}" DOC "Path to the windeployqt utility." ) if (NOT "${QT_WINDEPLOYQT_EXECUTABLE}" STREQUAL "QT_WINDEPLOYQT_EXECUTABLE-NOTFOUND") + set(QT_BIN_PATH "${_qt_bin_path}" CACHE INTERNAL + "Path to qmake, windeployqt, and other Qt utilities." + ) add_custom_target(copy_qt_dlls ALL) set_target_properties(copy_qt_dlls PROPERTIES FOLDER "Copy Tasks") # Will we ever need to use --debug? Windeployqt seems to # be smart enough to copy debug DLLs when needed. add_custom_command(TARGET copy_qt_dlls POST_BUILD - COMMAND set "PATH=%PATH%;${_qt_bindir}" + COMMAND set "PATH=%PATH%;${QT_BIN_PATH}" COMMAND "${QT_WINDEPLOYQT_EXECUTABLE}" $<$<CONFIG:Debug>:--debug> $<$<NOT:$<CONFIG:Debug>>:--release> @@ -2034,6 +2077,17 @@ if(BUILD_dumpcap AND PCAP_FOUND) endif() endif() +if (WIN32) + # Must come after executable targets are defined. + find_package( NSIS ) + + if (NOT "${MAKENSIS_EXECUTABLE}" STREQUAL "MAKENSIS_EXECUTABLE-NOTFOUND") + add_subdirectory( packaging/nsis EXCLUDE_FROM_ALL ) + ADD_NSIS_UNINSTALLER_TARGET() + ADD_NSIS_PACKAGE_TARGET() + endif() +endif() + ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_BINARY_DIR}/AUTHORS-SHORT COMMAND ${PERL_EXECUTABLE} diff --git a/Makefile.nmake b/Makefile.nmake index f961e76b76..f1cd014ffc 100644 --- a/Makefile.nmake +++ b/Makefile.nmake @@ -1248,6 +1248,7 @@ install-generated-files: doc !ENDIF xcopy ipmap.html $(INSTALL_DIR) /d xcopy doc\*.html $(INSTALL_DIR) /d + xcopy doc\ws.css $(INSTALL_DIR) /d if not exist $(INSTALL_DIR)\help mkdir $(INSTALL_DIR)\help xcopy ".\help\toc" $(INSTALL_DIR)\help /d $(TEXTIFY) -Destination $(INSTALL_DIR)\help help\*.txt @@ -1265,7 +1266,6 @@ install-generated-files: doc if not exist $(INSTALL_DIR)\wimaxasncp mkdir $(INSTALL_DIR)\wimaxasncp xcopy ".\wimaxasncp\*.*" $(INSTALL_DIR)\wimaxasncp /d if not exist $(INSTALL_DIR)\plugins mkdir $(INSTALL_DIR)\plugins - if not exist $(INSTALL_DIR)\plugins\$(VERSION) mkdir $(INSTALL_DIR)\plugins\$(VERSION) cd plugins $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake install-plugins cd .. diff --git a/cmake/modules/FindNSIS.cmake b/cmake/modules/FindNSIS.cmake new file mode 100644 index 0000000000..250104c274 --- /dev/null +++ b/cmake/modules/FindNSIS.cmake @@ -0,0 +1,15 @@ +# +# - Find NSIS +# Find the makensis command +# +# MAKENSIS_EXECUTABLE - path to the makensis utility. +# CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS - System runtime DLLs + +# Find makensis +find_program(MAKENSIS_EXECUTABLE makensis + PATH "$ENV{PROGRAMFILES}/NSIS" "$ENV{PROGRAMW6432}/NSIS" + DOC "Path to the makensis utility." +) + +set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) +include(InstallRequiredSystemLibraries) diff --git a/cmake/modules/WiresharkPlugin.cmake b/cmake/modules/WiresharkPlugin.cmake index e5c69fca97..acb0506612 100644 --- a/cmake/modules/WiresharkPlugin.cmake +++ b/cmake/modules/WiresharkPlugin.cmake @@ -58,4 +58,5 @@ macro(ADD_PLUGIN_LIBRARY _plugin) endforeach() target_link_libraries(${_plugin} epan) + add_dependencies(plugins ${_plugin}) endmacro() diff --git a/make-version.pl b/make-version.pl index 53d3094364..00452c5856 100755 --- a/make-version.pl +++ b/make-version.pl @@ -380,6 +380,7 @@ Fin # Read CMakeLists.txt, then write it back out with updated "set(PROJECT_..._VERSION ...) # lines +# set(GIT_REVISION 999) # set(PROJECT_MAJOR_VERSION 1) # set(PROJECT_MINOR_VERSION 99) # set(PROJECT_PATCH_VERSION 0) @@ -398,7 +399,9 @@ sub update_cmakelists_txt open(CFGIN, "< $filepath") || die "Can't read $filepath!"; while ($line = <CFGIN>) { - if ($line =~ /^set *\( *PROJECT_MAJOR_VERSION .*([\r\n]+)$/) { + if ($line =~ /^set *\( *GIT_REVISION .*([\r\n]+)$/) { + $line = sprintf("set(GIT_REVISION %d)$1", $num_commits); + } elsif ($line =~ /^set *\( *PROJECT_MAJOR_VERSION .*([\r\n]+)$/) { $line = sprintf("set(PROJECT_MAJOR_VERSION %d)$1", $version_pref{"version_major"}); } elsif ($line =~ /^set *\( *PROJECT_MINOR_VERSION .*([\r\n]+)$/) { $line = sprintf("set(PROJECT_MINOR_VERSION %d)$1", $version_pref{"version_minor"}); diff --git a/packaging/nsis/CMakeLists.txt b/packaging/nsis/CMakeLists.txt new file mode 100644 index 0000000000..4a08792cdb --- /dev/null +++ b/packaging/nsis/CMakeLists.txt @@ -0,0 +1,234 @@ +# CMakeLists.txt +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +# We should use CPack to generate the NSIS package. Even better, +# we should use CPack to create a .msi using WIX. + +set(NSIS_FILES + wireshark.nsi + uninstall.nsi + common.nsh + GetWindowsVersion.nsh + servicelib.nsh + AdditionalTasksPage.ini + WinPcapPage.ini + ${CMAKE_CURRENT_BINARY_DIR}/all-manifest.nsh + ${CMAKE_CURRENT_BINARY_DIR}/config.nsh + ${CMAKE_CURRENT_BINARY_DIR}/gtk-dll-manifest.nsh + ${CMAKE_CURRENT_BINARY_DIR}/qt-dll-manifest.nsh + PARENT_SCOPE +) + +# Check for leftover NMake-generated files. +foreach(_nsh_file all-manifest.nsh config.nsh gtk-dll-manifest.nsh qt-dll-manifest.nsh) + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_nsh_file}) + message(FATAL_ERROR + "Found ${CMAKE_CURRENT_SOURCE_DIR}/${_nsh_file}.\n" + "Please run nmake -f Makefile.nmake distclean in ${CMAKE_SOURCE_DIR}." + ) + endif() +endforeach() + +# Variables required for config.nsh +set(PROGRAM_NAME ${CMAKE_PROJECT_NAME}) +file(TO_NATIVE_PATH "${CMAKE_SOURCE_DIR}" TOP_SRC_DIR) +# STAGING_DIR depends on the build configuration so we pass it +# on the command line below. +file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/docbook" USER_GUIDE_DIR) +if ("${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win32") + set(TARGET_MACHINE x86) +elseif ("${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win64") + set(TARGET_MACHINE x64) +else() + message(FATAL_ERROR "Your mysterious moon-man architecture \"${WIRESHARK_TARGET_PLATFORM}\" frightens and confuses us.") +endif() + +# Path to the WinPcap installer. +# XXX Come up with a better variable, e.g. cache WIRESHARK_LIB_DIR in FindWSWinLibs. +file(TO_NATIVE_PATH "${GLIB2_DLL_DIR}/../.." _wireshark_lib_dir) +set(WIRESHARK_LIB_DIR "${_wireshark_lib_dir}") + +# Must match ${WIRESHARK_LIB_DIR}/WinPcap_X_Y_Z.exe +set(WINPCAP_PACKAGE_VERSION 4_1_3) +string(REPLACE "_" "." PCAP_DISPLAY_VERSION "${WINPCAP_PACKAGE_VERSION}") + +set(PRODUCT_VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION}.${PROJECT_BUILD_VERSION}) +# XXX Shouldn't this reflect the API / ABI version? +set(WTAP_VERSION ${PROJECT_VERSION}) + +# To do: +# - Sync the various version names between CMake, NMake, and NSIS. +# - Set CMakeLists.txt version strings in make-version.pl +# - Add a VERSION_EXTRA cmake option +set (VERSION "${PROJECT_VERSION}") +set (PRODUCT_VERSION=${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}.${VERSION_BUILD}) + +#add_custom_target(build_nsis_package +# DEPENDS +# wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe +#) + +if(BUILD_wireshark AND QT_FOUND) + set (QT_DIR "\${STAGING_DIR}") +endif() + +if(BUILD_wireshark_gtk AND GTK_FOUND) + set (GTK_DIR "\${STAGING_DIR}") +endif() + +# CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS will likely give us a list of DLL +# paths containing spaces. We'll assume that they're all in the same +# directory and use it to create something that's easier to pass to +# NSIS. +set(MSVCR_DLL) +list(GET CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS 0 _msvcr_dll) +if(_msvcr_dll) + get_filename_component(_msvcr_dir ${_msvcr_dll} DIRECTORY) + set(MSVCR_DLL "${_msvcr_dir}/*.*") + file(TO_NATIVE_PATH "${MSVCR_DLL}" MSVCR_DLL) +endif() + +# This *should* be compatible with the way we currently do things. +if(MSVC12) + set(_vcredist_name "vcredist_${TARGET_MACHINE}.exe") + find_program(VCREDIST_EXE "${_vcredist_name}" + HINTS "${WIRESHARK_LIB_DIR}/vcredist_MSVC2013" "${WIRESHARK_LIB_DIR}" + ) + file(TO_NATIVE_PATH "${VCREDIST_EXE}" VCREDIST_EXE) +endif() + +if(NOT ENABLE_STATIC) + # XXX Replace ENABLE_LIBWIRESHARK with !ENABLE_STATIC everywhere. + set(ENABLE_LIBWIRESHARK 1) +endif() + +# Ideally we would generate this at compile time using a separate cmake +# module, e.g. cmake/modules/configure_nsis_file.cmake. However we would +# have to figure out a clean way to pass in the variables above. +file(READ "${CMAKE_CURRENT_SOURCE_DIR}/config.nsh.in" _config_nsh_contents) +string(REPLACE "!define" "#cmakedefine" _config_nsh_contents "${_config_nsh_contents}") +string(CONFIGURE "${_config_nsh_contents}" _config_nsh_contents) +string(REPLACE "#define" "!define" _config_nsh_contents "${_config_nsh_contents}") +string(REPLACE "#undef" "!undef" _config_nsh_contents "${_config_nsh_contents}") +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.nsh" "${_config_nsh_contents}") + +# all-manifest.nsh. Can be created at configure time. +set(_all_manifest "${CMAKE_CURRENT_BINARY_DIR}/all-manifest.nsh") +set(_all_manifest_contents "# Files required for all sections. Generated by CMake.\n") +foreach(_dll ${GLIB2_DLLS} ${CARES_DLL} ${GCRYPT_DLLS} ${GEOIP_DLL} + ${GNUTLS_DLLS} ${KERBEROS_DLLS} ${LUA_DLL} ${SMI_DLL} + ${WINSPARKLE_DLL} ${ZLIB_DLL} + ) + set(_all_manifest_contents "${_all_manifest_contents}File \"\${STAGING_DIR}\\${_dll}\"\n") +endforeach() +set(_all_manifest_contents "${_all_manifest_contents}File \"\${STAGING_DIR}\\gspawn-${WIRESHARK_TARGET_PLATFORM}-helper.exe\"\n") +set(_all_manifest_contents "${_all_manifest_contents}File \"\${STAGING_DIR}\\gspawn-${WIRESHARK_TARGET_PLATFORM}-helper-console.exe\"\n") +file(WRITE "${_all_manifest}" "${_all_manifest_contents}") + +# gtk-dll-manifest.nsh. Can be created at configure time. +set(_gtk_dll_manifest "${CMAKE_CURRENT_BINARY_DIR}/gtk-dll-manifest.nsh") +set(_gtk_dll_manifest_contents "# Files required for the GTK+ section. Generated by CMake.\n") +if(BUILD_wireshark_gtk AND GTK_FOUND) + foreach(_dll ${GTK2_DLLS} ${GTK3_DLLS}) + set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}File \"\${STAGING_DIR}\\${_dll}\"\n") + endforeach() + set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}# Subdirectories\n") + if(GTK2_ETC_DIR) + set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}SetOutPath \$INSTDIR\\etc\\gtk-2.0\n") + set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}File \"\${STAGING_DIR}\\etc\\gtk-2.0\\*.*\"\n") + endif() + if(GTK2_ENGINES_DLL_DIR) + set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}SetOutPath \$INSTDIR\\lib\\gtk-2.0\\2.10.0\\engines\n") + set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}File \"\${STAGING_DIR}\\lib\\gtk-2.0\\2.10.0\\engines\\*.*\"\n") + endif() + set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}SetOutPath \$INSTDIR\\lib\\gtk-2.0\\modules\n") + set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}File \"\${STAGING_DIR}\\lib\\gtk-2.0\\modules\\*.*\"\n") + # XXX Schemas (GTK3) +endif() +file(WRITE "${_gtk_dll_manifest}" "${_gtk_dll_manifest_contents}") + +file(TO_NATIVE_PATH "${DATAFILE_DIR}" _staging_dir) +file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" _nsis_include_dir) + +# Variables we can't set via config.nsh. +set(NSIS_DEFINES + -DSTAGING_DIR=${_staging_dir} + -DNSIS_INCLUDE_DIR=${_nsis_include_dir} + PARENT_SCOPE +) + +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 + ) + add_custom_command(OUTPUT ${DATAFILE_DIR}/uninstall.exe + DEPENDS ${_nsis_source_dir}/uninstall.nsi + ${_nsis_source_dir}/common.nsh + COMMAND ${MAKENSIS_EXECUTABLE} ${NSIS_DEFINES} + uninstall.nsi + COMMAND ${DATAFILE_DIR}/uninstall_installer.exe + COMMAND ${CMAKE_COMMAND} -E remove ${DATAFILE_DIR}/uninstall_installer.exe + WORKING_DIRECTORY ${_nsis_source_dir} + ) +endmacro( ADD_NSIS_UNINSTALLER_TARGET ) + +macro( ADD_NSIS_PACKAGE_TARGET ) + set (_nsis_package ${CMAKE_BINARY_DIR}/packaging/nsis/wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe) + + add_custom_target(nsis_package + DEPENDS + ${PROGLIST} + plugins + copy_data_files + user_guides + ${CMAKE_BINARY_DIR}/docbook/user-guide.chm + ${_nsis_package} + ) + # 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}" + COMMAND ${POWERSHELL_COMMAND} "${_nsis_source_dir}/windeployqt-to-nsis.ps1" + -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} + DEPENDS ${NSIS_FILES} ${DATAFILE_DIR}/uninstall.exe + COMMAND ${MAKENSIS_EXECUTABLE} ${NSIS_DEFINES} + wireshark.nsi + WORKING_DIRECTORY ${_nsis_source_dir} + ) +endmacro( ADD_NSIS_PACKAGE_TARGET ) + +set(CLEAN_FILES + all-manifest.nsh + config.nsh + gtk-dll-manifest.nsh + #NEWS.txt + qt-dll-manifest.nsh + #user-guide.chm + ${DATAFILE_DIR}/uninstall.exe + wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe +) diff --git a/packaging/nsis/Makefile.nmake b/packaging/nsis/Makefile.nmake index 38478d2ee0..9e3880e511 100644 --- a/packaging/nsis/Makefile.nmake +++ b/packaging/nsis/Makefile.nmake @@ -9,8 +9,9 @@ include ../../config.nmake # Contains a list of custom plugins(default empty) include Custom.nmake - -STAGING_DIR=..\..\$(INSTALL_DIR) +TOP_SRC_DIR=$(MAKEDIR)\..\.. +# Must be absolue for uninstall.nsi +STAGING_DIR=$(MAKEDIR)\..\..\$(INSTALL_DIR) EXE=../../tshark.exe ../../editcap.exe \ !IFDEF GTK_DIR @@ -89,21 +90,19 @@ common.nsh: config.nsh config.nsh: config.nsh.in ..\..\config.nmake sed \ -e s/@PROGRAM_NAME@/$(PROGRAM_NAME)/ \ - -e 's/@MAKEDIR@/$(MAKEDIR:\=\\\\)/' \ + -e 's/@TOP_SRC_DIR@/$(TOP_SRC_DIR:\=\\\\)/' \ -e 's/@STAGING_DIR@/$(STAGING_DIR:\=\\\\)/' \ + -e s/@USER_GUIDE_DIR@/./ \ -e s/@WIRESHARK_TARGET_PLATFORM@/$(WIRESHARK_TARGET_PLATFORM)/ \ -e s/@TARGET_MACHINE@/$(TARGET_MACHINE)/ \ - -e s/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \ -e s/@MSC_VER_REQUIRED@/$(MSC_VER_REQUIRED)/ \ -e 's/@WIRESHARK_LIB_DIR@/$(WIRESHARK_LIB_DIR:\=\\\\)/' \ - -e s/@WINPCAP_VERSION@/$(WINPCAP_VERSION)/ \ + -e s/@WINPCAP_PACKAGE_VERSION@/$(WINPCAP_VERSION)/ \ -e s/@PCAP_DISPLAY_VERSION@/$(WINPCAP_VERSION:_=.)/ \ -e s/@INTL_DLL@/$(INTL_DLL)/ \ -e s/@VERSION@/$(VERSION)/ \ -e s/@VERSION_MAJOR@/$(VERSION_MAJOR)/ \ -e s/@VERSION_MINOR@/$(VERSION_MINOR)/ \ - -e s/@VERSION_MICRO@/$(VERSION_MICRO)/ \ - -e s/@VERSION_BUILD@/$(VERSION_BUILD)/ \ -e s/@PRODUCT_VERSION@/$(PRODUCT_VERSION)/ \ -e s/@WTAP_VERSION@/$(WTAP_VERSION)/ \ -e 's/@MSVCR_DLL@/$(MSVCR_DLL:\=\\\\)/' \ @@ -114,9 +113,6 @@ config.nsh: config.nsh.in ..\..\config.nmake !IFDEF GTK_DIR -e 's/@GTK_DIR@/$(GTK_DIR:\=\\\\)/' \ !ENDIF -!IFDEF HHC_DIR - -e 's/@HHC_DIR@/$(HHC_DIR:\=\\\\)/' \ -!ENDIF !IF EXIST("..\..\wireshark-qt-release\wireshark.exe") -e s/@QT_DIR@/..\\..\\wireshark-qt-release/ \ !ENDIF @@ -133,6 +129,8 @@ all-manifest.nsh: Makefile.nmake ..\..\config.nmake @echo File "$(STAGING_DIR)\libgobject-2.0-0.dll" >> $@ @echo File "$(STAGING_DIR)\libgmodule-2.0-0.dll" >> $@ @echo File "$(STAGING_DIR)\$(INTL_DLL)" >> $@ + @echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper.exe" >> $@ + @echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper-console.exe" >> $@ !IF "$(C_ARES_DIR)" != "" @echo # C-Ares >> $@ @echo File "$(STAGING_DIR)\libcares-2.dll" >> $@ @@ -182,14 +180,12 @@ all-manifest.nsh: Makefile.nmake ..\..\config.nmake gtk-dll-manifest.nsh: Makefile.nmake ..\..\config.nmake @echo # Files required for the GTK+ section. Generated from Makefile.nmake > $@ @echo # Mandatory >> $@ - echo File "$(STAGING_DIR)\$(GDK_DLL)" >> $@ - echo File "$(STAGING_DIR)\libgdk_pixbuf-2.0-0.dll" >> $@ - echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper.exe" >> $@ - echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper-console.exe" >> $@ - echo File "$(STAGING_DIR)\$(GTK_DLL)" >> $@ - echo File "$(STAGING_DIR)\libatk-1.0-0.dll" >> $@ - echo File "$(STAGING_DIR)\libpango-1.0-0.dll" >> $@ - echo File "$(STAGING_DIR)\libpangowin32-1.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\$(GDK_DLL)" >> $@ + @echo File "$(STAGING_DIR)\libgdk_pixbuf-2.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\$(GTK_DLL)" >> $@ + @echo File "$(STAGING_DIR)\libatk-1.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\libpango-1.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\libpangowin32-1.0-0.dll" >> $@ @echo # Optional >> $@ !IFDEF NEED_CAIRO_DLL @echo File "$(STAGING_DIR)\libcairo-2.dll" >> $@ diff --git a/packaging/nsis/common.nsh b/packaging/nsis/common.nsh index 81a61f8eb3..d87d2009fd 100755 --- a/packaging/nsis/common.nsh +++ b/packaging/nsis/common.nsh @@ -3,6 +3,10 @@ ; Name and version information ; ============================================================================ +!ifdef NSIS_INCLUDE_DIR +!addincludedir ${NSIS_INCLUDE_DIR} +!endif + !include "config.nsh" !if ${WIRESHARK_TARGET_PLATFORM} == "win32" diff --git a/packaging/nsis/config.nsh.in b/packaging/nsis/config.nsh.in index d51c19c4ce..0dcc393165 100644 --- a/packaging/nsis/config.nsh.in +++ b/packaging/nsis/config.nsh.in @@ -1,26 +1,25 @@ -; ============================================================================ -; NSIS configuration definitions. Generated from config.nsh.in. -; ============================================================================ +# ============================================================================ +# NSIS configuration definitions. Generated from config.nsh.in. +# ============================================================================ -; XXX We might want to switch all of the "!define"s below to "#cmakedefine" -; so that we can more easily integrate with CMake. +# Do not prefix comments with ";". They will be removed by CMake. !define PROGRAM_NAME "@PROGRAM_NAME@" -!define MAKEDIR "@MAKEDIR@" +!define TOP_SRC_DIR "@TOP_SRC_DIR@" !define STAGING_DIR "@STAGING_DIR@" !define WIRESHARK_TARGET_PLATFORM @WIRESHARK_TARGET_PLATFORM@ !define TARGET_MACHINE @TARGET_MACHINE@ -!define MSVC_VARIANT @MSVC_VARIANT@ !define MSC_VER_REQUIRED @MSC_VER_REQUIRED@ !define WIRESHARK_LIB_DIR "@WIRESHARK_LIB_DIR@" -!define WINPCAP_VERSION @WINPCAP_VERSION@ +!define WINPCAP_PACKAGE_VERSION @WINPCAP_PACKAGE_VERSION@ !define PCAP_DISPLAY_VERSION @PCAP_DISPLAY_VERSION@ -!define INTL_DLL @INTL_DLL@ !define VERSION @VERSION@ !define VERSION_MAJOR @VERSION_MAJOR@ !define VERSION_MINOR @VERSION_MINOR@ -!define VERSION_MICRO @VERSION_MICRO@ -!define VERSION_BUILD @VERSION_BUILD@ +# CMake treats 0 as "false" and will undef zero values +!ifndef VERSION_MINOR +!define VERSION_MINOR 0 +!endif !define PRODUCT_VERSION @PRODUCT_VERSION@ !define WTAP_VERSION @WTAP_VERSION@ @@ -29,74 +28,10 @@ !define ENABLE_LIBWIRESHARK @ENABLE_LIBWIRESHARK@ -; Qt +!define USER_GUIDE_DIR "@USER_GUIDE_DIR@" + +# Qt !define QT_DIR "@QT_DIR@" -; GTK+ +# GTK+ !define GTK_DIR "@GTK_DIR@" -!define GTK_LIB_DIR "@GTK_LIB_DIR@" -!define PANGO_LIB_DIR "@PANGO_LIB_DIR@" -!define GDK_DLL @GDK_DLL@ -!define GTK_DLL @GTK_DLL@ -!define GTK_NAME @GTK_NAME@ -!define GTK_ETC_DIR @GTK_ETC_DIR@ -!define GTK_ENGINES_DIR @GTK_ENGINES_DIR@ -!define GTK_MODULES_DIR @GTK_MODULES_DIR@ -!define GTK_SCHEMAS_DIR @GTK_SCHEMAS_DIR@ -!define NEED_CAIRO_GOBJECT_DLL @NEED_CAIRO_GOBJECT_DLL@ -!define NEED_CAIRO_DLL @NEED_CAIRO_DLL@ -!define NEED_EXPAT_DLL @NEED_EXPAT_DLL@ -!define EXPAT_DLL @EXPAT_DLL@ -!define NEED_FFI_DLL @NEED_FFI_DLL@ -!define FFI_DLL @FFI_DLL@ -!define NEED_FONTCONFIG_DLL @NEED_FONTCONFIG_DLL@ -!define FONTCONFIG_DLL @FONTCONFIG_DLL@ -!define NEED_FREETYPE_DLL @NEED_FREETYPE_DLL@ -!define FREETYPE_DLL @FREETYPE_DLL@ -!define NEED_HARFBUZZ_DLL @NEED_HARFBUZZ_DLL@ -!define HARFBUZZ_DLL @HARFBUZZ_DLL@ -!define NEED_JASPER_DLL @NEED_JASPER_DLL@ -!define JASPER_DLL @JASPER_DLL@ -!define NEED_JPEG_DLL @NEED_JPEG_DLL@ -!define JPEG_DLL @JPEG_DLL@ -!define NEED_LZMA_DLL @NEED_LZMA_DLL@ -!define LZMA_DLL @LZMA_DLL@ -!define NEED_PIXMAN_DLL @NEED_PIXMAN_DLL@ -!define PIXMAN_DLL @PIXMAN_DLL@ -!define NEED_PNG_DLL @NEED_PNG_DLL@ -!define PNG_DLL @PNG_DLL@ -!define NEED_SEH_DLL @NEED_SEH_DLL@ -!define SEH_DLL @SEH_DLL@ -!define NEED_SJLJ_DLL @NEED_SJLJ_DLL@ -!define SJLJ_DLL @SJLJ_DLL@ -!define NEED_TIFF_DLL @NEED_TIFF_DLL@ -!define TIFF_DLL @TIFF_DLL@ -!define NEED_XML_DLL @NEED_XML_DLL@ -!define XML_DLL @XML_DLL@ - -; Common -!define C_ARES_DIR @C_ARES_DIR@ -!define ADNS_DIR @ADNS_DIR@ - -!define KFW_DIR @KFW_DIR@ -!define KFW_PATH @KFW_PATH@ -!define COMERR_DLL @COMERR_DLL@ -!define KRB5_DLL @KRB5_DLL@ -!define K5SPRT_DLL @K5SPRT_DLL@ - -!define GPGERROR_DLL @GPGERROR_DLL@ -!define GNUTLS_DIR @GNUTLS_DIR@ - -!define GCC_DLL @GCC_DLL@ - -!define ZLIB_DIR @ZLIB_DIR@ - -!define LUA_DIR @LUA_DIR@ - -!define SMI_DIR @SMI_DIR@ - -!define GEOIP_DIR @GEOIP_DIR@ - -!define WINSPARKLE_DIR @WINSPARKLE_DIR@ - -!define HHC_DIR "@HHC_DIR@" diff --git a/packaging/nsis/uninstall.nsi b/packaging/nsis/uninstall.nsi index 751367570a..d5d1e242eb 100755 --- a/packaging/nsis/uninstall.nsi +++ b/packaging/nsis/uninstall.nsi @@ -54,7 +54,7 @@ ShowUninstDetails show Function .onInit ; MUST be the absolute path to our staging directory. - WriteUninstaller "${MAKEDIR}\${STAGING_DIR}\${UNINSTALLER_NAME}" + WriteUninstaller "${STAGING_DIR}\${UNINSTALLER_NAME}" SetErrorLevel 0 Quit FunctionEnd diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi index 138a67f69a..c7bc3ed501 100644 --- a/packaging/nsis/wireshark.nsi +++ b/packaging/nsis/wireshark.nsi @@ -20,7 +20,7 @@ SetCompressorDictSize 64 ; MB ; The file to write OutFile "${PROGRAM_NAME}-${WIRESHARK_TARGET_PLATFORM}-${VERSION}.exe" ; Installer icon -Icon "..\..\image\wiresharkinst.ico" +Icon "${TOP_SRC_DIR}\image\wiresharkinst.ico" ; ============================================================================ ; Modern UI @@ -34,7 +34,7 @@ Icon "..\..\image\wiresharkinst.ico" !include "MUI.nsh" ;!addplugindir ".\Plugins" -!define MUI_ICON "..\..\image\wiresharkinst.ico" +!define MUI_ICON "${TOP_SRC_DIR}\image\wiresharkinst.ico" BrandingText "Wireshark Installer (tm)" !define MUI_COMPONENTSPAGE_SMALLDESC @@ -60,7 +60,7 @@ BrandingText "Wireshark Installer (tm)" ; ============================================================================ !insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE "..\..\COPYING" +!insertmacro MUI_PAGE_LICENSE "${STAGING_DIR}\COPYING.txt" !insertmacro MUI_PAGE_COMPONENTS Page custom DisplayAdditionalTasksPage !insertmacro MUI_PAGE_DIRECTORY @@ -127,7 +127,7 @@ Page custom DisplayWinPcapPage ; License page configuration ; ============================================================================ LicenseText "Wireshark is distributed under the GNU General Public License." -LicenseData "..\..\COPYING" +LicenseData "${STAGING_DIR}\COPYING.txt" ; ============================================================================ ; Component page configuration @@ -332,16 +332,16 @@ File "${STAGING_DIR}\COPYING.txt" File "${STAGING_DIR}\NEWS.txt" File "${STAGING_DIR}\README.txt" File "${STAGING_DIR}\README.windows.txt" -File "..\..\doc\AUTHORS-SHORT" -File "..\..\manuf" -File "..\..\services" -File "..\..\pdml2html.xsl" -File "..\..\doc\ws.css" -File "..\..\doc\wireshark.html" -File "..\..\doc\wireshark-filter.html" +File "${STAGING_DIR}\AUTHORS-SHORT" +File "${STAGING_DIR}\manuf" +File "${STAGING_DIR}\services" +File "${STAGING_DIR}\pdml2html.xsl" +File "${STAGING_DIR}\ws.css" +File "${STAGING_DIR}\wireshark.html" +File "${STAGING_DIR}\wireshark-filter.html" File "${STAGING_DIR}\dumpcap.exe" -File "..\..\doc\dumpcap.html" -File "..\..\ipmap.html" +File "${STAGING_DIR}\dumpcap.html" +File "${STAGING_DIR}\ipmap.html" ; C-runtime redistributable !ifdef VCREDIST_EXE @@ -379,26 +379,22 @@ Delete "$INSTDIR\vcredist_${TARGET_MACHINE}.exe" ; msvcr*.dll (MSVC V7 or V7.1) - simply copy the dll file !echo "IF YOU GET AN ERROR HERE, check the MSVC_VARIANT setting in config.nmake: MSVC2005 vs. MSVC2005EE." File "${MSVCR_DLL}" -!else -!if ${MSVC_VARIANT} != "MSVC6" -!error "C-Runtime redistributable for this package not available / not redistributable." -!endif !endif ; MSVCR_DLL !endif ; VCREDIST_EXE ; global config files - don't overwrite if already existing ;IfFileExists cfilters dont_overwrite_cfilters -File "..\..\cfilters" +File "${STAGING_DIR}\cfilters" ;dont_overwrite_cfilters: ;IfFileExists colorfilters dont_overwrite_colorfilters -File "..\..\colorfilters" +File "${STAGING_DIR}\colorfilters" ;dont_overwrite_colorfilters: ;IfFileExists dfilters dont_overwrite_dfilters -File "..\..\dfilters" +File "${STAGING_DIR}\dfilters" ;dont_overwrite_dfilters: ;IfFileExists smi_modules dont_overwrite_smi_modules -File "..\..\smi_modules" +File "${STAGING_DIR}\smi_modules" ;dont_overwrite_smi_modules: @@ -407,30 +403,30 @@ File "..\..\smi_modules" ; of the installation directory. ; SetOutPath $INSTDIR\diameter -File "..\..\diameter\AlcatelLucent.xml" -File "..\..\diameter\chargecontrol.xml" -File "..\..\diameter\ChinaTelecom.xml" -File "..\..\diameter\Cisco.xml" -File "..\..\diameter\Custom.xml" -File "..\..\diameter\dictionary.dtd" -File "..\..\diameter\dictionary.xml" -File "..\..\diameter\eap.xml" -File "..\..\diameter\Ericsson.xml" -File "..\..\diameter\etsie2e4.xml" -File "..\..\diameter\SKT.xml" -File "..\..\diameter\HP.xml" -File "..\..\diameter\mobileipv4.xml" -File "..\..\diameter\mobileipv6.xml" -File "..\..\diameter\nasreq.xml" -File "..\..\diameter\Nokia.xml" -File "..\..\diameter\NokiaSolutionsAndNetworks.xml" -File "..\..\diameter\sip.xml" -File "..\..\diameter\Starent.xml" -File "..\..\diameter\sunping.xml" -File "..\..\diameter\TGPP.xml" -File "..\..\diameter\TGPP2.xml" -File "..\..\diameter\VerizonWireless.xml" -File "..\..\diameter\Vodafone.xml" +File "${STAGING_DIR}\diameter\AlcatelLucent.xml" +File "${STAGING_DIR}\diameter\chargecontrol.xml" +File "${STAGING_DIR}\diameter\ChinaTelecom.xml" +File "${STAGING_DIR}\diameter\Cisco.xml" +File "${STAGING_DIR}\diameter\Custom.xml" +File "${STAGING_DIR}\diameter\dictionary.dtd" +File "${STAGING_DIR}\diameter\dictionary.xml" +File "${STAGING_DIR}\diameter\eap.xml" +File "${STAGING_DIR}\diameter\Ericsson.xml" +File "${STAGING_DIR}\diameter\etsie2e4.xml" +File "${STAGING_DIR}\diameter\SKT.xml" +File "${STAGING_DIR}\diameter\HP.xml" +File "${STAGING_DIR}\diameter\mobileipv4.xml" +File "${STAGING_DIR}\diameter\mobileipv6.xml" +File "${STAGING_DIR}\diameter\nasreq.xml" +File "${STAGING_DIR}\diameter\Nokia.xml" +File "${STAGING_DIR}\diameter\NokiaSolutionsAndNetworks.xml" +File "${STAGING_DIR}\diameter\sip.xml" +File "${STAGING_DIR}\diameter\Starent.xml" +File "${STAGING_DIR}\diameter\sunping.xml" +File "${STAGING_DIR}\diameter\TGPP.xml" +File "${STAGING_DIR}\diameter\TGPP2.xml" +File "${STAGING_DIR}\diameter\VerizonWireless.xml" +File "${STAGING_DIR}\diameter\Vodafone.xml" !include "custom_diameter_xmls.txt" SetOutPath $INSTDIR @@ -439,204 +435,204 @@ SetOutPath $INSTDIR ; of the installation directory. ; SetOutPath $INSTDIR\radius -File "..\..\radius\README.radius_dictionary" -File "..\..\radius\custom.includes" -File "..\..\radius\dictionary" -File "..\..\radius\dictionary.3com" -File "..\..\radius\dictionary.3gpp" -File "..\..\radius\dictionary.3gpp2" -File "..\..\radius\dictionary.acc" -File "..\..\radius\dictionary.acme" -File "..\..\radius\dictionary.airespace" -File "..\..\radius\dictionary.actelis" -File "..\..\radius\dictionary.aerohive" -File "..\..\radius\dictionary.alcatel" -File "..\..\radius\dictionary.alcatel.esam" -File "..\..\radius\dictionary.alcatel.sr" -File "..\..\radius\dictionary.alcatel-lucent.aaa" -File "..\..\radius\dictionary.alteon" -File "..\..\radius\dictionary.altiga" -File "..\..\radius\dictionary.alvarion" -File "..\..\radius\dictionary.alvarion.wimax.v2_2" -File "..\..\radius\dictionary.apc" -File "..\..\radius\dictionary.aptis" -File "..\..\radius\dictionary.aruba" -File "..\..\radius\dictionary.arbor" -File "..\..\radius\dictionary.ascend" -File "..\..\radius\dictionary.asn" -File "..\..\radius\dictionary.audiocodes" -File "..\..\radius\dictionary.avaya" -File "..\..\radius\dictionary.azaire" -File "..\..\radius\dictionary.bay" -File "..\..\radius\dictionary.bluecoat" -File "..\..\radius\dictionary.bintec" -File "..\..\radius\dictionary.broadsoft" -File "..\..\radius\dictionary.brocade" -File "..\..\radius\dictionary.bskyb" -File "..\..\radius\dictionary.bristol" -File "..\..\radius\dictionary.bt" -File "..\..\radius\dictionary.camiant" -File "..\..\radius\dictionary.cablelabs" -File "..\..\radius\dictionary.cabletron" -File "..\..\radius\dictionary.chillispot" -File "..\..\radius\dictionary.cisco" -File "..\..\radius\dictionary.cisco.asa" -File "..\..\radius\dictionary.cisco.bbsm" -File "..\..\radius\dictionary.cisco.vpn3000" -File "..\..\radius\dictionary.cisco.vpn5000" -File "..\..\radius\dictionary.citrix" -File "..\..\radius\dictionary.clavister" -File "..\..\radius\dictionary.colubris" -File "..\..\radius\dictionary.columbia_university" -File "..\..\radius\dictionary.compatible" -File "..\..\radius\dictionary.compat" -File "..\..\radius\dictionary.cosine" -File "..\..\radius\dictionary.dante" -File "..\..\radius\dictionary.dhcp" -File "..\..\radius\dictionary.dlink" -File "..\..\radius\dictionary.digium" -File "..\..\radius\dictionary.dragonwave" -File "..\..\radius\dictionary.efficientip" -File "..\..\radius\dictionary.eltex" -File "..\..\radius\dictionary.epygi" -File "..\..\radius\dictionary.equallogic" -File "..\..\radius\dictionary.ericsson" -File "..\..\radius\dictionary.ericsson.ab" -File "..\..\radius\dictionary.ericsson.packet.core.networks" -File "..\..\radius\dictionary.erx" -File "..\..\radius\dictionary.extreme" -File "..\..\radius\dictionary.f5" -File "..\..\radius\dictionary.fdxtended" -File "..\..\radius\dictionary.fortinet" -File "..\..\radius\dictionary.foundry" -File "..\..\radius\dictionary.freedhcp" -File "..\..\radius\dictionary.freeradius" -File "..\..\radius\dictionary.freeradius.internal" -File "..\..\radius\dictionary.freeswitch" -File "..\..\radius\dictionary.gandalf" -File "..\..\radius\dictionary.garderos" -File "..\..\radius\dictionary.gemtek" -File "..\..\radius\dictionary.h3c" -File "..\..\radius\dictionary.hp" -File "..\..\radius\dictionary.huawei" -File "..\..\radius\dictionary.iana" -File "..\..\radius\dictionary.iea" -File "..\..\radius\dictionary.infoblox" -File "..\..\radius\dictionary.infonet" -File "..\..\radius\dictionary.ipunplugged" -File "..\..\radius\dictionary.issanni" -File "..\..\radius\dictionary.itk" -File "..\..\radius\dictionary.jradius" -File "..\..\radius\dictionary.juniper" -File "..\..\radius\dictionary.kineto" -File "..\..\radius\dictionary.karlnet" -File "..\..\radius\dictionary.lancom" -File "..\..\radius\dictionary.livingston" -File "..\..\radius\dictionary.localweb" -File "..\..\radius\dictionary.lucent" -File "..\..\radius\dictionary.manzara" -File "..\..\radius\dictionary.meinberg" -File "..\..\radius\dictionary.merit" -File "..\..\radius\dictionary.meru" -File "..\..\radius\dictionary.microsoft" -File "..\..\radius\dictionary.mikrotik" -File "..\..\radius\dictionary.motorola" -File "..\..\radius\dictionary.motorola.wimax" -File "..\..\radius\dictionary.navini" -File "..\..\radius\dictionary.netscreen" -File "..\..\radius\dictionary.networkphysics" -File "..\..\radius\dictionary.nexans" -File "..\..\radius\dictionary.nokia" -File "..\..\radius\dictionary.nokia.conflict" -File "..\..\radius\dictionary.nomadix" -File "..\..\radius\dictionary.nortel" -File "..\..\radius\dictionary.ntua" -File "..\..\radius\dictionary.openser" -File "..\..\radius\dictionary.packeteer" -File "..\..\radius\dictionary.paloalto" -File "..\..\radius\dictionary.patton" -File "..\..\radius\dictionary.perle" -File "..\..\radius\dictionary.propel" -File "..\..\radius\dictionary.prosoft" -File "..\..\radius\dictionary.proxim" -File "..\..\radius\dictionary.purewave" -File "..\..\radius\dictionary.quiconnect" -File "..\..\radius\dictionary.quintum" -File "..\..\radius\dictionary.redcreek" -File "..\..\radius\dictionary.rfc2865" -File "..\..\radius\dictionary.rfc2866" -File "..\..\radius\dictionary.rfc2867" -File "..\..\radius\dictionary.rfc2868" -File "..\..\radius\dictionary.rfc2869" -File "..\..\radius\dictionary.rfc3162" -File "..\..\radius\dictionary.rfc3576" -File "..\..\radius\dictionary.rfc3580" -File "..\..\radius\dictionary.rfc4072" -File "..\..\radius\dictionary.rfc4372" -File "..\..\radius\dictionary.rfc4603" -File "..\..\radius\dictionary.rfc4675" -File "..\..\radius\dictionary.rfc4679" -File "..\..\radius\dictionary.rfc4818" -File "..\..\radius\dictionary.rfc4849" -File "..\..\radius\dictionary.rfc5090" -File "..\..\radius\dictionary.rfc5176" -File "..\..\radius\dictionary.rfc5447" -File "..\..\radius\dictionary.rfc5580" -File "..\..\radius\dictionary.rfc5607" -File "..\..\radius\dictionary.rfc5904" -File "..\..\radius\dictionary.rfc6519" -File "..\..\radius\dictionary.rfc6572" -File "..\..\radius\dictionary.rfc6677" -File "..\..\radius\dictionary.rfc6911" -File "..\..\radius\dictionary.rfc6929" -File "..\..\radius\dictionary.rfc6930" -File "..\..\radius\dictionary.rfc7055" -File "..\..\radius\dictionary.rfc7155" -File "..\..\radius\dictionary.rfc7268" -File "..\..\radius\dictionary.riverbed" -File "..\..\radius\dictionary.riverstone" -File "..\..\radius\dictionary.roaringpenguin" -File "..\..\radius\dictionary.ruckus" -File "..\..\radius\dictionary.ruggedcom" -File "..\..\radius\dictionary.sg" -File "..\..\radius\dictionary.shasta" -File "..\..\radius\dictionary.shiva" -File "..\..\radius\dictionary.siemens" -File "..\..\radius\dictionary.slipstream" -File "..\..\radius\dictionary.sofaware" -File "..\..\radius\dictionary.sonicwall" -File "..\..\radius\dictionary.springtide" -File "..\..\radius\dictionary.starent" -File "..\..\radius\dictionary.starent.vsa1" -File "..\..\radius\dictionary.surfnet" -File "..\..\radius\dictionary.symbol" -File "..\..\radius\dictionary.t_systems_nova" -File "..\..\radius\dictionary.telebit" -File "..\..\radius\dictionary.telkom" -File "..\..\radius\dictionary.terena" -File "..\..\radius\dictionary.trapeze" -File "..\..\radius\dictionary.travelping" -File "..\..\radius\dictionary.tropos" -File "..\..\radius\dictionary.ukerna" -File "..\..\radius\dictionary.unix" -File "..\..\radius\dictionary.usr" -File "..\..\radius\dictionary.utstarcom" -File "..\..\radius\dictionary.valemount" -File "..\..\radius\dictionary.versanet" -File "..\..\radius\dictionary.vqp" -File "..\..\radius\dictionary.walabi" -File "..\..\radius\dictionary.waverider" -File "..\..\radius\dictionary.wichorus" -File "..\..\radius\dictionary.wimax" -File "..\..\radius\dictionary.wimax.alvarion" -File "..\..\radius\dictionary.wimax.wichorus" -File "..\..\radius\dictionary.wispr" -File "..\..\radius\dictionary.xedia" -File "..\..\radius\dictionary.xylan" -File "..\..\radius\dictionary.yubico" -File "..\..\radius\dictionary.zeus" -File "..\..\radius\dictionary.zte" -File "..\..\radius\dictionary.zyxel" +File "${STAGING_DIR}\radius\README.radius_dictionary" +File "${STAGING_DIR}\radius\custom.includes" +File "${STAGING_DIR}\radius\dictionary" +File "${STAGING_DIR}\radius\dictionary.3com" +File "${STAGING_DIR}\radius\dictionary.3gpp" +File "${STAGING_DIR}\radius\dictionary.3gpp2" +File "${STAGING_DIR}\radius\dictionary.acc" +File "${STAGING_DIR}\radius\dictionary.acme" +File "${STAGING_DIR}\radius\dictionary.airespace" +File "${STAGING_DIR}\radius\dictionary.actelis" +File "${STAGING_DIR}\radius\dictionary.aerohive" +File "${STAGING_DIR}\radius\dictionary.alcatel" +File "${STAGING_DIR}\radius\dictionary.alcatel.esam" +File "${STAGING_DIR}\radius\dictionary.alcatel.sr" +File "${STAGING_DIR}\radius\dictionary.alcatel-lucent.aaa" +File "${STAGING_DIR}\radius\dictionary.alteon" +File "${STAGING_DIR}\radius\dictionary.altiga" +File "${STAGING_DIR}\radius\dictionary.alvarion" +File "${STAGING_DIR}\radius\dictionary.alvarion.wimax.v2_2" +File "${STAGING_DIR}\radius\dictionary.apc" +File "${STAGING_DIR}\radius\dictionary.aptis" +File "${STAGING_DIR}\radius\dictionary.aruba" +File "${STAGING_DIR}\radius\dictionary.arbor" +File "${STAGING_DIR}\radius\dictionary.ascend" +File "${STAGING_DIR}\radius\dictionary.asn" +File "${STAGING_DIR}\radius\dictionary.audiocodes" +File "${STAGING_DIR}\radius\dictionary.avaya" +File "${STAGING_DIR}\radius\dictionary.azaire" +File "${STAGING_DIR}\radius\dictionary.bay" +File "${STAGING_DIR}\radius\dictionary.bluecoat" +File "${STAGING_DIR}\radius\dictionary.bintec" +File "${STAGING_DIR}\radius\dictionary.broadsoft" +File "${STAGING_DIR}\radius\dictionary.brocade" +File "${STAGING_DIR}\radius\dictionary.bskyb" +File "${STAGING_DIR}\radius\dictionary.bristol" +File "${STAGING_DIR}\radius\dictionary.bt" +File "${STAGING_DIR}\radius\dictionary.camiant" +File "${STAGING_DIR}\radius\dictionary.cablelabs" +File "${STAGING_DIR}\radius\dictionary.cabletron" +File "${STAGING_DIR}\radius\dictionary.chillispot" +File "${STAGING_DIR}\radius\dictionary.cisco" +File "${STAGING_DIR}\radius\dictionary.cisco.asa" +File "${STAGING_DIR}\radius\dictionary.cisco.bbsm" +File "${STAGING_DIR}\radius\dictionary.cisco.vpn3000" +File "${STAGING_DIR}\radius\dictionary.cisco.vpn5000" +File "${STAGING_DIR}\radius\dictionary.citrix" +File "${STAGING_DIR}\radius\dictionary.clavister" +File "${STAGING_DIR}\radius\dictionary.colubris" +File "${STAGING_DIR}\radius\dictionary.columbia_university" +File "${STAGING_DIR}\radius\dictionary.compatible" +File "${STAGING_DIR}\radius\dictionary.compat" +File "${STAGING_DIR}\radius\dictionary.cosine" +File "${STAGING_DIR}\radius\dictionary.dante" +File "${STAGING_DIR}\radius\dictionary.dhcp" +File "${STAGING_DIR}\radius\dictionary.dlink" +File "${STAGING_DIR}\radius\dictionary.digium" +File "${STAGING_DIR}\radius\dictionary.dragonwave" +File "${STAGING_DIR}\radius\dictionary.efficientip" +File "${STAGING_DIR}\radius\dictionary.eltex" +File "${STAGING_DIR}\radius\dictionary.epygi" +File "${STAGING_DIR}\radius\dictionary.equallogic" +File "${STAGING_DIR}\radius\dictionary.ericsson" +File "${STAGING_DIR}\radius\dictionary.ericsson.ab" +File "${STAGING_DIR}\radius\dictionary.ericsson.packet.core.networks" +File "${STAGING_DIR}\radius\dictionary.erx" +File "${STAGING_DIR}\radius\dictionary.extreme" +File "${STAGING_DIR}\radius\dictionary.f5" +File "${STAGING_DIR}\radius\dictionary.fdxtended" +File "${STAGING_DIR}\radius\dictionary.fortinet" +File "${STAGING_DIR}\radius\dictionary.foundry" +File "${STAGING_DIR}\radius\dictionary.freedhcp" +File "${STAGING_DIR}\radius\dictionary.freeradius" +File "${STAGING_DIR}\radius\dictionary.freeradius.internal" +File "${STAGING_DIR}\radius\dictionary.freeswitch" +File "${STAGING_DIR}\radius\dictionary.gandalf" +File "${STAGING_DIR}\radius\dictionary.garderos" +File "${STAGING_DIR}\radius\dictionary.gemtek" +File "${STAGING_DIR}\radius\dictionary.h3c" +File "${STAGING_DIR}\radius\dictionary.hp" +File "${STAGING_DIR}\radius\dictionary.huawei" +File "${STAGING_DIR}\radius\dictionary.iana" +File "${STAGING_DIR}\radius\dictionary.iea" +File "${STAGING_DIR}\radius\dictionary.infoblox" +File "${STAGING_DIR}\radius\dictionary.infonet" +File "${STAGING_DIR}\radius\dictionary.ipunplugged" +File "${STAGING_DIR}\radius\dictionary.issanni" +File "${STAGING_DIR}\radius\dictionary.itk" +File "${STAGING_DIR}\radius\dictionary.jradius" +File "${STAGING_DIR}\radius\dictionary.juniper" +File "${STAGING_DIR}\radius\dictionary.kineto" +File "${STAGING_DIR}\radius\dictionary.karlnet" +File "${STAGING_DIR}\radius\dictionary.lancom" +File "${STAGING_DIR}\radius\dictionary.livingston" +File "${STAGING_DIR}\radius\dictionary.localweb" +File "${STAGING_DIR}\radius\dictionary.lucent" +File "${STAGING_DIR}\radius\dictionary.manzara" +File "${STAGING_DIR}\radius\dictionary.meinberg" +File "${STAGING_DIR}\radius\dictionary.merit" +File "${STAGING_DIR}\radius\dictionary.meru" +File "${STAGING_DIR}\radius\dictionary.microsoft" +File "${STAGING_DIR}\radius\dictionary.mikrotik" +File "${STAGING_DIR}\radius\dictionary.motorola" +File "${STAGING_DIR}\radius\dictionary.motorola.wimax" +File "${STAGING_DIR}\radius\dictionary.navini" +File "${STAGING_DIR}\radius\dictionary.netscreen" +File "${STAGING_DIR}\radius\dictionary.networkphysics" +File "${STAGING_DIR}\radius\dictionary.nexans" +File "${STAGING_DIR}\radius\dictionary.nokia" +File "${STAGING_DIR}\radius\dictionary.nokia.conflict" +File "${STAGING_DIR}\radius\dictionary.nomadix" +File "${STAGING_DIR}\radius\dictionary.nortel" +File "${STAGING_DIR}\radius\dictionary.ntua" +File "${STAGING_DIR}\radius\dictionary.openser" +File "${STAGING_DIR}\radius\dictionary.packeteer" +File "${STAGING_DIR}\radius\dictionary.paloalto" +File "${STAGING_DIR}\radius\dictionary.patton" +File "${STAGING_DIR}\radius\dictionary.perle" +File "${STAGING_DIR}\radius\dictionary.propel" +File "${STAGING_DIR}\radius\dictionary.prosoft" +File "${STAGING_DIR}\radius\dictionary.proxim" +File "${STAGING_DIR}\radius\dictionary.purewave" +File "${STAGING_DIR}\radius\dictionary.quiconnect" +File "${STAGING_DIR}\radius\dictionary.quintum" +File "${STAGING_DIR}\radius\dictionary.redcreek" +File "${STAGING_DIR}\radius\dictionary.rfc2865" +File "${STAGING_DIR}\radius\dictionary.rfc2866" +File "${STAGING_DIR}\radius\dictionary.rfc2867" +File "${STAGING_DIR}\radius\dictionary.rfc2868" +File "${STAGING_DIR}\radius\dictionary.rfc2869" +File "${STAGING_DIR}\radius\dictionary.rfc3162" +File "${STAGING_DIR}\radius\dictionary.rfc3576" +File "${STAGING_DIR}\radius\dictionary.rfc3580" +File "${STAGING_DIR}\radius\dictionary.rfc4072" +File "${STAGING_DIR}\radius\dictionary.rfc4372" +File "${STAGING_DIR}\radius\dictionary.rfc4603" +File "${STAGING_DIR}\radius\dictionary.rfc4675" +File "${STAGING_DIR}\radius\dictionary.rfc4679" +File "${STAGING_DIR}\radius\dictionary.rfc4818" +File "${STAGING_DIR}\radius\dictionary.rfc4849" +File "${STAGING_DIR}\radius\dictionary.rfc5090" +File "${STAGING_DIR}\radius\dictionary.rfc5176" +File "${STAGING_DIR}\radius\dictionary.rfc5447" +File "${STAGING_DIR}\radius\dictionary.rfc5580" +File "${STAGING_DIR}\radius\dictionary.rfc5607" +File "${STAGING_DIR}\radius\dictionary.rfc5904" +File "${STAGING_DIR}\radius\dictionary.rfc6519" +File "${STAGING_DIR}\radius\dictionary.rfc6572" +File "${STAGING_DIR}\radius\dictionary.rfc6677" +File "${STAGING_DIR}\radius\dictionary.rfc6911" +File "${STAGING_DIR}\radius\dictionary.rfc6929" +File "${STAGING_DIR}\radius\dictionary.rfc6930" +File "${STAGING_DIR}\radius\dictionary.rfc7055" +File "${STAGING_DIR}\radius\dictionary.rfc7155" +File "${STAGING_DIR}\radius\dictionary.rfc7268" +File "${STAGING_DIR}\radius\dictionary.riverbed" +File "${STAGING_DIR}\radius\dictionary.riverstone" +File "${STAGING_DIR}\radius\dictionary.roaringpenguin" +File "${STAGING_DIR}\radius\dictionary.ruckus" +File "${STAGING_DIR}\radius\dictionary.ruggedcom" +File "${STAGING_DIR}\radius\dictionary.sg" +File "${STAGING_DIR}\radius\dictionary.shasta" +File "${STAGING_DIR}\radius\dictionary.shiva" +File "${STAGING_DIR}\radius\dictionary.siemens" +File "${STAGING_DIR}\radius\dictionary.slipstream" +File "${STAGING_DIR}\radius\dictionary.sofaware" +File "${STAGING_DIR}\radius\dictionary.sonicwall" +File "${STAGING_DIR}\radius\dictionary.springtide" +File "${STAGING_DIR}\radius\dictionary.starent" +File "${STAGING_DIR}\radius\dictionary.starent.vsa1" +File "${STAGING_DIR}\radius\dictionary.surfnet" +File "${STAGING_DIR}\radius\dictionary.symbol" +File "${STAGING_DIR}\radius\dictionary.t_systems_nova" +File "${STAGING_DIR}\radius\dictionary.telebit" +File "${STAGING_DIR}\radius\dictionary.telkom" +File "${STAGING_DIR}\radius\dictionary.terena" +File "${STAGING_DIR}\radius\dictionary.trapeze" +File "${STAGING_DIR}\radius\dictionary.travelping" +File "${STAGING_DIR}\radius\dictionary.tropos" +File "${STAGING_DIR}\radius\dictionary.ukerna" +File "${STAGING_DIR}\radius\dictionary.unix" +File "${STAGING_DIR}\radius\dictionary.usr" +File "${STAGING_DIR}\radius\dictionary.utstarcom" +File "${STAGING_DIR}\radius\dictionary.valemount" +File "${STAGING_DIR}\radius\dictionary.versanet" +File "${STAGING_DIR}\radius\dictionary.vqp" +File "${STAGING_DIR}\radius\dictionary.walabi" +File "${STAGING_DIR}\radius\dictionary.waverider" +File "${STAGING_DIR}\radius\dictionary.wichorus" +File "${STAGING_DIR}\radius\dictionary.wimax" +File "${STAGING_DIR}\radius\dictionary.wimax.alvarion" +File "${STAGING_DIR}\radius\dictionary.wimax.wichorus" +File "${STAGING_DIR}\radius\dictionary.wispr" +File "${STAGING_DIR}\radius\dictionary.xedia" +File "${STAGING_DIR}\radius\dictionary.xylan" +File "${STAGING_DIR}\radius\dictionary.yubico" +File "${STAGING_DIR}\radius\dictionary.zeus" +File "${STAGING_DIR}\radius\dictionary.zte" +File "${STAGING_DIR}\radius\dictionary.zyxel" !include "custom_radius_dict.txt" SetOutPath $INSTDIR @@ -644,31 +640,31 @@ SetOutPath $INSTDIR ; install the dtds in the dtds subdirectory ; SetOutPath $INSTDIR\dtds -File "..\..\dtds\dc.dtd" -File "..\..\dtds\itunes.dtd" -File "..\..\dtds\mscml.dtd" -File "..\..\dtds\pocsettings.dtd" -File "..\..\dtds\presence.dtd" -File "..\..\dtds\reginfo.dtd" -File "..\..\dtds\rlmi.dtd" -File "..\..\dtds\rss.dtd" -File "..\..\dtds\smil.dtd" -File "..\..\dtds\xcap-caps.dtd" -File "..\..\dtds\xcap-error.dtd" -File "..\..\dtds\watcherinfo.dtd" +File "${STAGING_DIR}\dtds\dc.dtd" +File "${STAGING_DIR}\dtds\itunes.dtd" +File "${STAGING_DIR}\dtds\mscml.dtd" +File "${STAGING_DIR}\dtds\pocsettings.dtd" +File "${STAGING_DIR}\dtds\presence.dtd" +File "${STAGING_DIR}\dtds\reginfo.dtd" +File "${STAGING_DIR}\dtds\rlmi.dtd" +File "${STAGING_DIR}\dtds\rss.dtd" +File "${STAGING_DIR}\dtds\smil.dtd" +File "${STAGING_DIR}\dtds\xcap-caps.dtd" +File "${STAGING_DIR}\dtds\xcap-error.dtd" +File "${STAGING_DIR}\dtds\watcherinfo.dtd" SetOutPath $INSTDIR ; Install the TPNCP DAT file in the "tpncp" subdirectory ; of the installation directory. SetOutPath $INSTDIR\tpncp -File "..\..\tpncp\tpncp.dat" +File "${STAGING_DIR}\tpncp\tpncp.dat" ; ; install the wimaxasncp TLV definitions in the wimaxasncp subdirectory ; SetOutPath $INSTDIR\wimaxasncp -File "..\..\wimaxasncp\dictionary.xml" -File "..\..\wimaxasncp\dictionary.dtd" +File "${STAGING_DIR}\wimaxasncp\dictionary.xml" +File "${STAGING_DIR}\wimaxasncp\dictionary.dtd" SetOutPath $INSTDIR SetOutPath $INSTDIR\help @@ -800,8 +796,8 @@ IfErrors lbl_winpcap_notinstalled ;if RegKey is unavailable, WinPcap is not inst ;DetailPrint "WinPcap uninstaller returned $0" lbl_winpcap_notinstalled: SetOutPath $INSTDIR -File "${WIRESHARK_LIB_DIR}\WinPcap_${WINPCAP_VERSION}.exe" -ExecWait '"$INSTDIR\WinPcap_${WINPCAP_VERSION}.exe"' $0 +File "${WIRESHARK_LIB_DIR}\WinPcap_${WINPCAP_PACKAGE_VERSION}.exe" +ExecWait '"$INSTDIR\WinPcap_${WINPCAP_PACKAGE_VERSION}.exe"' $0 DetailPrint "WinPcap installer returned $0" SecRequired_skip_Winpcap: @@ -872,7 +868,7 @@ Section "TShark" SecTShark ;------------------------------------------- SetOutPath $INSTDIR File "${STAGING_DIR}\tshark.exe" -File "..\..\doc\tshark.html" +File "${STAGING_DIR}\tshark.html" SectionEnd @@ -892,31 +888,31 @@ SectionGroup "Plugins & Extensions" SecPluginsGroup Section "Dissector Plugins" SecPlugins ;------------------------------------------- -SetOutPath '$INSTDIR\plugins\${VERSION}' -File "${STAGING_DIR}\plugins\${VERSION}\docsis.dll" -File "${STAGING_DIR}\plugins\${VERSION}\ethercat.dll" -File "${STAGING_DIR}\plugins\${VERSION}\gryphon.dll" -File "${STAGING_DIR}\plugins\${VERSION}\irda.dll" -File "${STAGING_DIR}\plugins\${VERSION}\m2m.dll" -File "${STAGING_DIR}\plugins\${VERSION}\opcua.dll" -File "${STAGING_DIR}\plugins\${VERSION}\profinet.dll" -File "${STAGING_DIR}\plugins\${VERSION}\unistim.dll" -File "${STAGING_DIR}\plugins\${VERSION}\wimax.dll" -File "${STAGING_DIR}\plugins\${VERSION}\wimaxasncp.dll" -File "${STAGING_DIR}\plugins\${VERSION}\wimaxmacphy.dll" +SetOutPath '$INSTDIR\plugins' +File "${STAGING_DIR}\plugins\docsis.dll" +File "${STAGING_DIR}\plugins\ethercat.dll" +File "${STAGING_DIR}\plugins\gryphon.dll" +File "${STAGING_DIR}\plugins\irda.dll" +File "${STAGING_DIR}\plugins\m2m.dll" +File "${STAGING_DIR}\plugins\opcua.dll" +File "${STAGING_DIR}\plugins\profinet.dll" +File "${STAGING_DIR}\plugins\unistim.dll" +File "${STAGING_DIR}\plugins\wimax.dll" +File "${STAGING_DIR}\plugins\wimaxasncp.dll" +File "${STAGING_DIR}\plugins\wimaxmacphy.dll" !include "custom_plugins.txt" SectionEnd Section "Tree Statistics Plugin" SecStatsTree ;------------------------------------------- -SetOutPath '$INSTDIR\plugins\${VERSION}' -File "${STAGING_DIR}\plugins\${VERSION}\stats_tree.dll" +SetOutPath '$INSTDIR\plugins' +File "${STAGING_DIR}\plugins\stats_tree.dll" SectionEnd Section "Mate - Meta Analysis and Tracing Engine" SecMate ;------------------------------------------- -SetOutPath '$INSTDIR\plugins\${VERSION}' -File "${STAGING_DIR}\plugins\${VERSION}\mate.dll" +SetOutPath '$INSTDIR\plugins' +File "${STAGING_DIR}\plugins\mate.dll" SectionEnd Section "Configuration Profiles" SecProfiles @@ -951,21 +947,21 @@ Section "Editcap" SecEditcap ;------------------------------------------- SetOutPath $INSTDIR File "${STAGING_DIR}\editcap.exe" -File "..\..\doc\editcap.html" +File "${STAGING_DIR}\editcap.html" SectionEnd Section "Text2Pcap" SecText2Pcap ;------------------------------------------- SetOutPath $INSTDIR File "${STAGING_DIR}\text2pcap.exe" -File "..\..\doc\text2pcap.html" +File "${STAGING_DIR}\text2pcap.html" SectionEnd Section "Mergecap" SecMergecap ;------------------------------------------- SetOutPath $INSTDIR File "${STAGING_DIR}\mergecap.exe" -File "..\..\doc\mergecap.html" +File "${STAGING_DIR}\mergecap.html" SectionEnd Section "Reordercap" SecReordercap @@ -978,23 +974,23 @@ Section "Capinfos" SecCapinfos ;------------------------------------------- SetOutPath $INSTDIR File "${STAGING_DIR}\capinfos.exe" -File "..\..\doc\capinfos.html" +File "${STAGING_DIR}\capinfos.html" SectionEnd Section "Rawshark" SecRawshark ;------------------------------------------- SetOutPath $INSTDIR File "${STAGING_DIR}\rawshark.exe" -File "..\..\doc\rawshark.html" +File "${STAGING_DIR}\rawshark.html" SectionEnd SectionGroupEnd ; "Tools" -!ifdef HHC_DIR +!ifdef USER_GUIDE_DIR Section "User's Guide" SecUsersGuide ;------------------------------------------- SetOutPath $INSTDIR -File "user-guide.chm" +File "${USER_GUIDE_DIR}\user-guide.chm" SectionEnd !endif @@ -1040,7 +1036,7 @@ SectionEnd !insertmacro MUI_DESCRIPTION_TEXT ${SecCapinfos} "Pring information about capture files." !insertmacro MUI_DESCRIPTION_TEXT ${SecRawshark} "Raw packet filter." -!ifdef HHC_DIR +!ifdef USER_GUIDE_DIR !insertmacro MUI_DESCRIPTION_TEXT ${SecUsersGuide} "Install an offline copy of the User's Guide." !endif !insertmacro MUI_FUNCTION_DESCRIPTION_END diff --git a/plugins/Makefile.nmake b/plugins/Makefile.nmake index 2bf5a9cb8c..b6231a06fd 100644 --- a/plugins/Makefile.nmake +++ b/plugins/Makefile.nmake @@ -41,7 +41,7 @@ distclean-local: clean-local maintainer-clean-local: distclean-local checkapi: - $(MAKE) -f Makefile.nmake PLUGIN_TARGET=checkapi process-plugins + $(MAKE) -f Makefile.nmake PLUGIN_TARGET=checkapi process-plugins @@ -64,11 +64,10 @@ custom : install-plugins: !IFDEF ENABLE_LIBWIRESHARK cd .. - @for %f in ( $(PLUGIN_LIST) ) do xcopy plugins\%f\*.dll $(INSTALL_DIR)\plugins\$(VERSION)\ /d + @for %f in ( $(PLUGIN_LIST) ) do xcopy plugins\%f\*.dll $(INSTALL_DIR)\plugins\ /d cd plugins if exist Custom.nmake $(MAKE) /$(MAKEFLAGS) -f Custom.nmake install-plugins !ENDIF #### _FORCE_: ## Assumption: no file named _FORCE_ exists in the current directory - diff --git a/ui/qt/Wireshark.pro b/ui/qt/Wireshark.pro index 26452c9248..a074efe6a3 100644 --- a/ui/qt/Wireshark.pro +++ b/ui/qt/Wireshark.pro @@ -487,9 +487,9 @@ win32 { for(FILE,EXTRA_BINFILES){ QMAKE_POST_LINK +=$$quote($(COPY_FILE) $${FILE} $(DESTDIR)$$escape_expand(\\n\\t)) } - PLUGINS_DIR = $(DESTDIR)plugins\\$${VERSION_FULL} + PLUGINS_DIR = $(DESTDIR)plugins QMAKE_POST_LINK +=$$quote($(CHK_DIR_EXISTS) $${PLUGINS_DIR} $(MKDIR) $${PLUGINS_DIR}$$escape_expand(\\n\\t)) - QMAKE_POST_LINK +=$$quote($(COPY_FILE) ..\\..\\$${INSTALL_DIR}\\plugins\\$${VERSION_FULL}\\*.dll $(DESTDIR)plugins\\$${VERSION_FULL}$$escape_expand(\\n\\t)) + QMAKE_POST_LINK +=$$quote($(COPY_FILE) ..\\..\\$${INSTALL_DIR}\\plugins\\*.dll $(DESTDIR)plugins$$escape_expand(\\n\\t)) # This doesn't depend on wireshark-gtk2. It also doesn't work. #PLUGINS_IN_PWD=$${IN_PWD} |