forked from osmocom/wireshark
Windows: Switch from HTML Help to plain HTML.
Switch from HTML Help to plain HTML files. In the NSIS and WiX installers, place the help assets in a directory with a friendly name.
This commit is contained in:
parent
6846271b76
commit
6bfab69d14
|
@ -1,58 +0,0 @@
|
||||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
||||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
|
||||||
|
|
||||||
#.rst:
|
|
||||||
# FindHTMLHelp
|
|
||||||
# ------------
|
|
||||||
#
|
|
||||||
# This module looks for Microsoft HTML Help Compiler
|
|
||||||
#
|
|
||||||
# It defines:
|
|
||||||
#
|
|
||||||
# ::
|
|
||||||
#
|
|
||||||
# HTML_HELP_COMPILER : full path to the Compiler (hhc.exe)
|
|
||||||
# HTML_HELP_INCLUDE_PATH : include path to the API (htmlhelp.h)
|
|
||||||
# HTML_HELP_LIBRARY : full path to the library (htmlhelp.lib)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
|
|
||||||
find_program(HTML_HELP_COMPILER
|
|
||||||
NAMES hhc
|
|
||||||
PATHS
|
|
||||||
"[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]"
|
|
||||||
PATH_SUFFIXES "HTML Help Workshop"
|
|
||||||
)
|
|
||||||
|
|
||||||
get_filename_component(HTML_HELP_COMPILER_PATH "${HTML_HELP_COMPILER}" PATH)
|
|
||||||
|
|
||||||
find_path(HTML_HELP_INCLUDE_PATH
|
|
||||||
NAMES htmlhelp.h
|
|
||||||
PATHS
|
|
||||||
"${HTML_HELP_COMPILER_PATH}/include"
|
|
||||||
"[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]/include"
|
|
||||||
PATH_SUFFIXES "HTML Help Workshop/include"
|
|
||||||
)
|
|
||||||
|
|
||||||
find_library(HTML_HELP_LIBRARY
|
|
||||||
NAMES htmlhelp
|
|
||||||
PATHS
|
|
||||||
"${HTML_HELP_COMPILER_PATH}/lib"
|
|
||||||
"[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]/lib"
|
|
||||||
PATH_SUFFIXES "HTML Help Workshop/lib"
|
|
||||||
)
|
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set HTMLHelp_FOUND to TRUE if
|
|
||||||
# all listed variables are TRUE
|
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(HTMLHelp
|
|
||||||
REQUIRED_VARS HTML_HELP_COMPILER HTML_HELP_INCLUDE_PATH HTML_HELP_LIBRARY
|
|
||||||
)
|
|
||||||
|
|
||||||
mark_as_advanced(
|
|
||||||
HTML_HELP_COMPILER
|
|
||||||
HTML_HELP_INCLUDE_PATH
|
|
||||||
HTML_HELP_LIBRARY
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
|
@ -145,58 +145,3 @@ MACRO(XML2HTML _target_dep _dir_pfx _mode _dbk_source _gfx_sources)
|
||||||
)
|
)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDMACRO(XML2HTML)
|
ENDMACRO(XML2HTML)
|
||||||
|
|
||||||
# Translate XML to HHP
|
|
||||||
#XML2HHP(
|
|
||||||
# wsug or wsdg
|
|
||||||
# user-guide.xml or developer-guide.xml
|
|
||||||
#)
|
|
||||||
MACRO(XML2HHP _target_dep _guide _title _dbk_source)
|
|
||||||
# We depend on the docbook target to avoid parallel builds.
|
|
||||||
SET(_dbk_dep ${_target_dep}_docbook)
|
|
||||||
GET_FILENAME_COMPONENT( _source_base_name ${_dbk_source} NAME_WE )
|
|
||||||
set( _output_chm ${_source_base_name}.chm )
|
|
||||||
set( _output_hhp ${_source_base_name}.hhp )
|
|
||||||
set( _output_toc_hhc ${_source_base_name}-toc.hhc )
|
|
||||||
set( _docbook_plain_title ${_source_base_name}-plain-title.xml )
|
|
||||||
get_docbook_xml_depends(_dbk_xml_deps "${_dbk_source}")
|
|
||||||
|
|
||||||
SET(_gfxdir ${_guide}_graphics)
|
|
||||||
SET(_basedir ${_guide}_chm)
|
|
||||||
ADD_CUSTOM_COMMAND(
|
|
||||||
OUTPUT
|
|
||||||
${_output_hhp}
|
|
||||||
${_output_toc_hhc}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${_basedir}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${_basedir}/${_gfxdir}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/${_gfxdir} ${_basedir}/${_gfxdir}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/common_graphics ${_basedir}/${_gfxdir}
|
|
||||||
# Dumb down our title. HTML Help can render most of our content
|
|
||||||
# correctly because we tell it to use the IE9 rendering engine in
|
|
||||||
# custom_layer_chm.xsl. However, this doesn't apply to the window
|
|
||||||
# title or TOC. Neither "’" nor "’" will render correctly,
|
|
||||||
# so just add a _title argument and set it in CMakeLists.txt.
|
|
||||||
COMMAND ${PERL_EXECUTABLE} -p
|
|
||||||
-e "s|<title>Wireshark.*s Guide</title>|<title>${_title}</title>|"
|
|
||||||
< ${_dbk_source}
|
|
||||||
> ${_docbook_plain_title}
|
|
||||||
COMMAND ${XSLTPROC_EXECUTABLE}
|
|
||||||
--path "${_xsltproc_path}"
|
|
||||||
--stringparam base.dir ${_basedir}/
|
|
||||||
--stringparam htmlhelp.title ${_title}
|
|
||||||
--stringparam htmlhelp.chm ${_output_chm}
|
|
||||||
--stringparam htmlhelp.hhp ${_output_hhp}
|
|
||||||
--stringparam htmlhelp.hhc ${_output_toc_hhc}
|
|
||||||
${_common_xsltproc_args}
|
|
||||||
--stringparam admon.graphics.path ${_gfxdir}/
|
|
||||||
--nonet custom_layer_chm.xsl
|
|
||||||
${_docbook_plain_title}
|
|
||||||
DEPENDS
|
|
||||||
${_dbk_xml_deps}
|
|
||||||
${_dbk_dep}
|
|
||||||
# AsciiDoc uses UTF-8 by default, which is unsupported by HTML
|
|
||||||
# Help. We may want to render an ISO-8859-1 version, or get rid
|
|
||||||
# of HTML Help.
|
|
||||||
custom_layer_chm.xsl
|
|
||||||
)
|
|
||||||
ENDMACRO(XML2HHP)
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
# hhc.exe returns 1 on success - which cmake instprets as failure in case
|
|
||||||
# of add_custom_command.
|
|
||||||
|
|
||||||
# Params are
|
|
||||||
# cmake -P /path/to/hhc.cmake "/path/to/hhc.exe" project.hhp
|
|
||||||
set(_hhc_executable ${CMAKE_ARGV3})
|
|
||||||
set(_project_file ${CMAKE_ARGV4})
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${_hhc_executable} ${_project_file}
|
|
||||||
RESULT_VARIABLE _return_code
|
|
||||||
)
|
|
|
@ -21,35 +21,6 @@ function(set_docbook_target_properties _target)
|
||||||
)
|
)
|
||||||
endfunction(set_docbook_target_properties)
|
endfunction(set_docbook_target_properties)
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
find_package( HTMLHelp )
|
|
||||||
if(HTML_HELP_COMPILER)
|
|
||||||
# We do not need the HTML Help headers and library, just the
|
|
||||||
# compiler. To avoid confusion, report the package as found.
|
|
||||||
# https://gitlab.kitware.com/cmake/cmake/issues/15886
|
|
||||||
set(HTMLHelp_FOUND 1)
|
|
||||||
endif()
|
|
||||||
macro( HHP2CHM _hhpsource )
|
|
||||||
get_filename_component( _source_base_name ${_hhpsource} NAME_WE )
|
|
||||||
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${_output_chm}
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
# The number and order of arguments MUST match hhc.cmake.
|
|
||||||
COMMAND ${CMAKE_COMMAND} -P
|
|
||||||
${CMAKE_SOURCE_DIR}/cmake/modules/hhc.cmake
|
|
||||||
"${HTML_HELP_COMPILER}"
|
|
||||||
${_hhpsource}
|
|
||||||
DEPENDS
|
|
||||||
${_hhpsource}
|
|
||||||
)
|
|
||||||
endmacro()
|
|
||||||
else()
|
|
||||||
macro( HHP2CHM _hhpsource )
|
|
||||||
# Dummy.
|
|
||||||
endmacro()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(COMMON_FILES
|
set(COMMON_FILES
|
||||||
common_src/GPL_appendix.adoc
|
common_src/GPL_appendix.adoc
|
||||||
)
|
)
|
||||||
|
@ -425,18 +396,6 @@ if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_PDF_EXECUTABLE)
|
||||||
add_dependencies(user_guides user_guide_pdf)
|
add_dependencies(user_guides user_guide_pdf)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32 AND ASCIIDOCTOR_FOUND)
|
|
||||||
XML2HHP(user_guide wsug "Wireshark User's Guide" user-guide.xml)
|
|
||||||
HHP2CHM(user-guide.hhp)
|
|
||||||
add_custom_target(
|
|
||||||
user_guide_chm
|
|
||||||
DEPENDS
|
|
||||||
user-guide.chm
|
|
||||||
)
|
|
||||||
set_docbook_target_properties(user_guide_chm)
|
|
||||||
add_dependencies(user_guides user_guide_chm)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Developer's Guide chain.
|
# Developer's Guide chain.
|
||||||
if(ASCIIDOCTOR_FOUND AND XSLTPROC_EXECUTABLE)
|
if(ASCIIDOCTOR_FOUND AND XSLTPROC_EXECUTABLE)
|
||||||
XML2HTML(
|
XML2HTML(
|
||||||
|
@ -477,18 +436,6 @@ if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_PDF_EXECUTABLE)
|
||||||
add_dependencies(developer_guides developer_guide_pdf)
|
add_dependencies(developer_guides developer_guide_pdf)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32 AND ASCIIDOCTOR_FOUND)
|
|
||||||
XML2HHP(developer_guide wsdg "Wireshark Developer's Guide" developer-guide.xml)
|
|
||||||
HHP2CHM(developer-guide.hhp)
|
|
||||||
add_custom_target(
|
|
||||||
developer_guide_chm
|
|
||||||
DEPENDS
|
|
||||||
developer-guide.chm
|
|
||||||
)
|
|
||||||
set_docbook_target_properties(developer_guide_chm)
|
|
||||||
add_dependencies(developer_guides developer_guide_chm)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (GUIDE_INSTALL_DIRS)
|
if (GUIDE_INSTALL_DIRS)
|
||||||
# The installation location and DOC_DIR in ui/help_url.c must
|
# The installation location and DOC_DIR in ui/help_url.c must
|
||||||
# match.
|
# match.
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
<?xml version='1.0'?>
|
|
||||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
||||||
version="1.0">
|
|
||||||
|
|
||||||
<!-- copied from custom_layer_pdf.xsl -->
|
|
||||||
|
|
||||||
<!-- import the main stylesheet -->
|
|
||||||
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/htmlhelp/htmlhelp.xsl"/>
|
|
||||||
|
|
||||||
<xsl:param name="htmlhelp.window.geometry">[160,100,950,750]</xsl:param>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Tell the WebBrowser control to use the IE9 rendering engine if present so
|
|
||||||
that our admonition graphics (which are SVG) show up. We might be able to
|
|
||||||
get away with "IE=8" if needed.
|
|
||||||
http://stackoverflow.com/questions/4612255/regarding-ie9-webbrowser-control/4613025#4613025
|
|
||||||
-->
|
|
||||||
<xsl:template name="system.head.content">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9" />
|
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<xsl:template name="user.head.content">
|
|
||||||
<style type="text/css">
|
|
||||||
html body, h1, h2, h3, h4, h5, h6,
|
|
||||||
div.toc p b,
|
|
||||||
div.list-of-figures p b,
|
|
||||||
div.list-of-tables p b,
|
|
||||||
div.abstract p.title
|
|
||||||
{
|
|
||||||
font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<!-- reduce the size of programlisting to make them fit the page -->
|
|
||||||
<xsl:attribute-set name="monospace.verbatim.properties">
|
|
||||||
<xsl:attribute name="font-size">80%</xsl:attribute>
|
|
||||||
</xsl:attribute-set>
|
|
||||||
|
|
||||||
</xsl:stylesheet>
|
|
|
@ -287,9 +287,6 @@ compiler (MSVC), you'll need:
|
||||||
|
|
||||||
. Windows platform headers and libraries (e.g.
|
. Windows platform headers and libraries (e.g.
|
||||||
_windows.h_, _WS2_32.lib_)
|
_windows.h_, _WS2_32.lib_)
|
||||||
+
|
|
||||||
// Can we drop support for CHM?
|
|
||||||
. HTML help headers and libraries (_htmlhelp.h_, _htmlhelp.lib_)
|
|
||||||
|
|
||||||
==== Official Toolchain Packages And Alternatives
|
==== Official Toolchain Packages And Alternatives
|
||||||
|
|
||||||
|
@ -469,7 +466,6 @@ Man page HTML:: pod2html
|
||||||
|
|
||||||
Guide HTML:: Asciidoctor → _DocBook XML_ → xsltproc + DocBook XSL
|
Guide HTML:: Asciidoctor → _DocBook XML_ → xsltproc + DocBook XSL
|
||||||
Guide PDF:: Asciidoctor
|
Guide PDF:: Asciidoctor
|
||||||
Guide HTML Help:: Asciidoctor → _DocBook XML_ → xsltproc + DocBook XSL → HHC
|
|
||||||
|
|
||||||
Release notes HTML:: Asciidoctor
|
Release notes HTML:: Asciidoctor
|
||||||
Release notes text:: Asciidoctor → _HTML_ → html2text.py
|
Release notes text:: Asciidoctor → _HTML_ → html2text.py
|
||||||
|
@ -491,9 +487,9 @@ but _not_ with Asciidoctor.
|
||||||
|
|
||||||
==== DocBook XML and XSL
|
==== DocBook XML and XSL
|
||||||
|
|
||||||
Converting from DocBook to HTML and CHM requires the DocBook DTD
|
Converting from DocBook to HTML requires the DocBook DTD
|
||||||
(http://www.sagehill.net/docbookxsl/ToolsSetup.html) and DocBook
|
(http://www.sagehill.net/docbookxsl/ToolsSetup.html)
|
||||||
stylesheets
|
and DocBook stylesheets
|
||||||
(http://www.sagehill.net/docbookxsl/InstallStylesheets.html).
|
(http://www.sagehill.net/docbookxsl/InstallStylesheets.html).
|
||||||
These are available via installable packages on most Linux distributions, Chocolatey, and Homebrew.
|
These are available via installable packages on most Linux distributions, Chocolatey, and Homebrew.
|
||||||
|
|
||||||
|
@ -502,25 +498,6 @@ These are available via installable packages on most Linux distributions, Chocol
|
||||||
http://xmlsoft.org/xslt/[xsltproc] converts DocBook XML to various formats based on XSL stylesheets.
|
http://xmlsoft.org/xslt/[xsltproc] converts DocBook XML to various formats based on XSL stylesheets.
|
||||||
It either ships as part of the operating system or is available via an installable package on most Linux distributions, Chocolatey, and Homebrew.
|
It either ships as part of the operating system or is available via an installable package on most Linux distributions, Chocolatey, and Homebrew.
|
||||||
|
|
||||||
==== HTML Help
|
|
||||||
|
|
||||||
HTML Help is used to create the User’s and Developer’s Guide in .chm format.
|
|
||||||
The User’s Guide .chm file is included with the NSIS and WiX installers and
|
|
||||||
is used as Wireshark's built-in help on Windows.
|
|
||||||
|
|
||||||
This compiler is used to generate a .chm file from a bunch of HTML files -- in
|
|
||||||
our case to generate the User’s and Developer’s Guide in .chm format.
|
|
||||||
|
|
||||||
The compiler is only available as the free (as in beer) "HTML Help Workshop"
|
|
||||||
download. If you want to compile the guides yourself, you need to download and
|
|
||||||
install this. If you don't install it into the default directory, you may also
|
|
||||||
have a look at the HHC_DIR setting in the file docbook/Makefile.
|
|
||||||
|
|
||||||
The files `htmlhelp.c` and `htmlhelp.lib` are required to
|
|
||||||
be able to open .chm files from Wireshark and show the
|
|
||||||
online help. Both files are part of the SDK (standalone (P)SDK or MSVC
|
|
||||||
since 2002).
|
|
||||||
|
|
||||||
[[ChToolsDebugger]]
|
[[ChToolsDebugger]]
|
||||||
|
|
||||||
=== Debugger
|
=== Debugger
|
||||||
|
|
|
@ -229,7 +229,7 @@ macro( ADD_NSIS_PACKAGE_TARGET )
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${NSIS_FILES}
|
${NSIS_FILES}
|
||||||
copy_data_files
|
copy_data_files
|
||||||
user_guide_chm
|
user_guide_html
|
||||||
faq_html
|
faq_html
|
||||||
${DATAFILE_DIR}/uninstall.exe
|
${DATAFILE_DIR}/uninstall.exe
|
||||||
)
|
)
|
||||||
|
|
|
@ -232,6 +232,7 @@ Delete "$INSTDIR\wka"
|
||||||
Delete "$INSTDIR\services"
|
Delete "$INSTDIR\services"
|
||||||
Delete "$INSTDIR\pdml2html.xsl"
|
Delete "$INSTDIR\pdml2html.xsl"
|
||||||
Delete "$INSTDIR\pcrepattern.3.txt"
|
Delete "$INSTDIR\pcrepattern.3.txt"
|
||||||
|
Delete "$INSTDIR\Wireshark User's Guide\*.*"
|
||||||
Delete "$INSTDIR\user-guide.chm"
|
Delete "$INSTDIR\user-guide.chm"
|
||||||
Delete "$INSTDIR\example_snmp_users_file"
|
Delete "$INSTDIR\example_snmp_users_file"
|
||||||
Delete "$INSTDIR\ipmap.html"
|
Delete "$INSTDIR\ipmap.html"
|
||||||
|
@ -291,6 +292,7 @@ RMDir "$INSTDIR\styles\translations"
|
||||||
RMDir "$INSTDIR\styles"
|
RMDir "$INSTDIR\styles"
|
||||||
RMDir "$SMPROGRAMS\${PROGRAM_NAME}"
|
RMDir "$SMPROGRAMS\${PROGRAM_NAME}"
|
||||||
RMDir "$INSTDIR\help"
|
RMDir "$INSTDIR\help"
|
||||||
|
RMDir "$INSTDIR\Wireshark User's Guide"
|
||||||
RMDir "$INSTDIR\diameter"
|
RMDir "$INSTDIR\diameter"
|
||||||
RMDir "$INSTDIR\snmp\mibs"
|
RMDir "$INSTDIR\snmp\mibs"
|
||||||
RMDir "$INSTDIR\snmp"
|
RMDir "$INSTDIR\snmp"
|
||||||
|
|
|
@ -1200,8 +1200,10 @@ SectionGroupEnd ; "Tools"
|
||||||
!ifdef DOCBOOK_DIR
|
!ifdef DOCBOOK_DIR
|
||||||
Section "Documentation" SecDocumentation
|
Section "Documentation" SecDocumentation
|
||||||
;-------------------------------------------
|
;-------------------------------------------
|
||||||
|
SetOutPath "$INSTDIR\Wireshark User's Guide"
|
||||||
|
File /r "${DOCBOOK_DIR}\wsug_html_chunked\*.*"
|
||||||
|
|
||||||
SetOutPath $INSTDIR
|
SetOutPath $INSTDIR
|
||||||
File "${DOCBOOK_DIR}\user-guide.chm"
|
|
||||||
File "${DOCBOOK_DIR}\faq.html"
|
File "${DOCBOOK_DIR}\faq.html"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
!endif
|
!endif
|
||||||
|
|
|
@ -16,6 +16,7 @@ set(WIX_GENERATED_FILES
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/QtTranslation.wxs
|
${CMAKE_CURRENT_BINARY_DIR}/QtTranslation.wxs
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/RadiusDict.wxs
|
${CMAKE_CURRENT_BINARY_DIR}/RadiusDict.wxs
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/SNMPMibs.wxs
|
${CMAKE_CURRENT_BINARY_DIR}/SNMPMibs.wxs
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/UsersGuide.wxs
|
||||||
)
|
)
|
||||||
set(WIX_GENERATED_FILES ${WIX_GENERATED_FILES} PARENT_SCOPE)
|
set(WIX_GENERATED_FILES ${WIX_GENERATED_FILES} PARENT_SCOPE)
|
||||||
|
|
||||||
|
@ -47,6 +48,7 @@ set(WIX_OUT_FILES
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/QtTranslation.wixobj
|
${CMAKE_CURRENT_BINARY_DIR}/QtTranslation.wixobj
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/RadiusDict.wixobj
|
${CMAKE_CURRENT_BINARY_DIR}/RadiusDict.wixobj
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/SNMPMibs.wixobj
|
${CMAKE_CURRENT_BINARY_DIR}/SNMPMibs.wixobj
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/UsersGuide.wixobj
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/Wireshark.wixobj
|
${CMAKE_CURRENT_BINARY_DIR}/Wireshark.wixobj
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/WiresharkOptionsDlg.wixobj
|
${CMAKE_CURRENT_BINARY_DIR}/WiresharkOptionsDlg.wixobj
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/WiresharkWixUI.wixobj
|
${CMAKE_CURRENT_BINARY_DIR}/WiresharkWixUI.wixobj
|
||||||
|
@ -217,6 +219,7 @@ set(WIX_CANDLE_DEFINES
|
||||||
-dQtTranslationDir=${ARCHIVE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/translations
|
-dQtTranslationDir=${ARCHIVE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/translations
|
||||||
-dRadiusDictDir=${ARCHIVE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/radius
|
-dRadiusDictDir=${ARCHIVE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/radius
|
||||||
-dSnmpMibDir=${ARCHIVE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/snmp/mibs
|
-dSnmpMibDir=${ARCHIVE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/snmp/mibs
|
||||||
|
-dUsersGuideDir=${ARCHIVE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/docbook/wsug_html_chunked
|
||||||
-dVCRedistVersion=${MSVC_CRT_VERSION}
|
-dVCRedistVersion=${MSVC_CRT_VERSION}
|
||||||
-dVCRedistDir=${MERGE_MODULE_DIR}
|
-dVCRedistDir=${MERGE_MODULE_DIR}
|
||||||
${d_smi_dir}
|
${d_smi_dir}
|
||||||
|
@ -269,6 +272,14 @@ macro( ADD_WIX_PACKAGE_TARGET )
|
||||||
DEPENDS "${_wix_source_dir}/windeployqt-to-wix.ps1"
|
DEPENDS "${_wix_source_dir}/windeployqt-to-wix.ps1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# UsersGuide.wxs. Collects the contents of wsug_html_chunked.
|
||||||
|
# Generated with heat.exe
|
||||||
|
add_custom_command(OUTPUT ${_wix_binary_dir}/UsersGuide.wxs
|
||||||
|
COMMAND ${WIX_HEAT_EXECUTABLE} dir ${CMAKE_BINARY_DIR}/docbook/wsug_html_chunked
|
||||||
|
${WIX_HEAT_FLAGS} -cg CG.Documentation -dr dirUsersGuide -var var.UsersGuideDir
|
||||||
|
-out ${_wix_binary_dir}/UsersGuide.wxs
|
||||||
|
)
|
||||||
|
|
||||||
# SNMPMibs.wxs. Collects all MIBs in "output" snmp/mibs
|
# SNMPMibs.wxs. Collects all MIBs in "output" snmp/mibs
|
||||||
# directory. Generated with heat.exe
|
# directory. Generated with heat.exe
|
||||||
add_custom_command(OUTPUT ${_wix_binary_dir}/SNMPMibs.wxs
|
add_custom_command(OUTPUT ${_wix_binary_dir}/SNMPMibs.wxs
|
||||||
|
@ -308,7 +319,7 @@ macro( ADD_WIX_PACKAGE_TARGET )
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${WIX_FILES}
|
${WIX_FILES}
|
||||||
copy_data_files
|
copy_data_files
|
||||||
user_guide_chm
|
user_guide_html
|
||||||
faq_html
|
faq_html
|
||||||
)
|
)
|
||||||
set_target_properties(wix_package_prep PROPERTIES
|
set_target_properties(wix_package_prep PROPERTIES
|
||||||
|
@ -340,6 +351,7 @@ endmacro( ADD_WIX_PACKAGE_TARGET )
|
||||||
set(CLEAN_FILES
|
set(CLEAN_FILES
|
||||||
DependentComponents.wxs
|
DependentComponents.wxs
|
||||||
QtDependentComponents.wxs
|
QtDependentComponents.wxs
|
||||||
|
UsersGuide.wxs
|
||||||
SNMPMibs.wxs
|
SNMPMibs.wxs
|
||||||
RadiusDict.wxs
|
RadiusDict.wxs
|
||||||
Diameter.wxs
|
Diameter.wxs
|
||||||
|
|
|
@ -566,14 +566,7 @@
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
|
||||||
<?ifdef DOCBOOK_DIR?>
|
<?ifdef DOCBOOK_DIR?>
|
||||||
<!-- User Guide -->
|
<!-- User Guide is created by heat -->
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="INSTALLFOLDER">
|
|
||||||
<Component Id="cmpUserGuide_chm" Guid="*">
|
|
||||||
<File Id="filUserGuide_chm" KeyPath="yes" Source="$(var.DOCBOOK_DIR)\user-guide.chm" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
</Fragment>
|
|
||||||
<!-- FAQ -->
|
<!-- FAQ -->
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<DirectoryRef Id="INSTALLFOLDER">
|
<DirectoryRef Id="INSTALLFOLDER">
|
||||||
|
@ -584,7 +577,6 @@
|
||||||
</Fragment>
|
</Fragment>
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<ComponentGroup Id="CG.Documentation">
|
<ComponentGroup Id="CG.Documentation">
|
||||||
<ComponentRef Id="cmpUserGuide_chm" />
|
|
||||||
<ComponentRef Id="cmpFAQ_html" />
|
<ComponentRef Id="cmpFAQ_html" />
|
||||||
</ComponentGroup>
|
</ComponentGroup>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
<Directory Id="dirPluginsVersionCodecs" Name="codecs"/>
|
<Directory Id="dirPluginsVersionCodecs" Name="codecs"/>
|
||||||
</Directory>
|
</Directory>
|
||||||
</Directory>
|
</Directory>
|
||||||
|
<Directory Id="dirUsersGuide" Name="Wireshark User's Guide"/>
|
||||||
<Directory Id="dirProfiles" Name="profiles"/>
|
<Directory Id="dirProfiles" Name="profiles"/>
|
||||||
<Directory Id="dirSnmp" Name="snmp">
|
<Directory Id="dirSnmp" Name="snmp">
|
||||||
<Directory Id="dirSnmpMibs" Name="mibs"/>
|
<Directory Id="dirSnmpMibs" Name="mibs"/>
|
||||||
|
|
|
@ -8,10 +8,10 @@ It might one day replace the NSIS installer, but needs to be a little more compl
|
||||||
. You need the https://wixtoolset.org/[WiX toolset] to build the .msi installer.
|
. You need the https://wixtoolset.org/[WiX toolset] to build the .msi installer.
|
||||||
Version 3.10 or later is recommended.
|
Version 3.10 or later is recommended.
|
||||||
|
|
||||||
. SNMP, Radius, Diameter, and Qt translations files are harvested to be included in
|
. The User's Guide, SNMP, Radius, Diameter, and Qt translations files are harvested to
|
||||||
the installer. Any custom/additional files just need to be written to the appropriate
|
be included in the installer. Any custom/additional files just need to be written to the
|
||||||
build output directory and the installer will pick them up. NSIS required modifying
|
appropriate build output directory and the installer will pick them up. NSIS required
|
||||||
a file (custom_mibs.txt, etc) for inclusion
|
modifying a file (custom_mibs.txt, etc) for inclusion
|
||||||
|
|
||||||
. Plugin DLLs are not automatically harvested. To include your DLL, modify Plugins.wxi.
|
. Plugin DLLs are not automatically harvested. To include your DLL, modify Plugins.wxi.
|
||||||
|
|
||||||
|
|
|
@ -92,11 +92,6 @@ endif()
|
||||||
|
|
||||||
target_link_libraries(ui wsutil caputils)
|
target_link_libraries(ui wsutil caputils)
|
||||||
|
|
||||||
if (HTML_HELP_COMPILER)
|
|
||||||
add_definitions(-DHHC_DIR)
|
|
||||||
target_link_libraries(ui Htmlhelp.lib)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_include_directories(ui SYSTEM
|
target_include_directories(ui SYSTEM
|
||||||
PRIVATE
|
PRIVATE
|
||||||
${WINSPARKLE_INCLUDE_DIRS}
|
${WINSPARKLE_INCLUDE_DIRS}
|
||||||
|
|
|
@ -19,12 +19,6 @@
|
||||||
#include "urls.h"
|
#include "urls.h"
|
||||||
#include "wsutil/filesystem.h"
|
#include "wsutil/filesystem.h"
|
||||||
|
|
||||||
#ifdef HHC_DIR
|
|
||||||
#include <windows.h>
|
|
||||||
#include <htmlhelp.h>
|
|
||||||
#include <wsutil/unicode-utils.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// To do:
|
// To do:
|
||||||
// - Automatically generate part or all of this, e.g. by parsing
|
// - Automatically generate part or all of this, e.g. by parsing
|
||||||
// the DocBook XML or the chunked HTML.
|
// the DocBook XML or the chunked HTML.
|
||||||
|
@ -36,40 +30,30 @@ gchar *
|
||||||
user_guide_url(const gchar *page) {
|
user_guide_url(const gchar *page) {
|
||||||
GString *url = g_string_new("");
|
GString *url = g_string_new("");
|
||||||
|
|
||||||
|
#if defined(WIN32)
|
||||||
/*
|
/*
|
||||||
* Try to open local .chm file. This is not the most intuitive way to
|
* The User's Guide is in a directory named "Wireshark User's Guide" in
|
||||||
* go about this but it fits in with the rest of the _url functions.
|
* the program directory.
|
||||||
*/
|
*/
|
||||||
#ifdef HHC_DIR
|
|
||||||
HWND hw;
|
|
||||||
|
|
||||||
g_string_printf(url, "%s\\user-guide.chm::/wsug_chm/%s>Wireshark Help",
|
GString *ug_dir = g_string_new("");
|
||||||
get_datafile_dir(), page);
|
g_string_printf(ug_dir, "%s\\Wireshark User's Guide", get_datafile_dir());
|
||||||
|
if (g_file_test(ug_dir->str, G_FILE_TEST_IS_DIR)) {
|
||||||
hw = HtmlHelpW(NULL,
|
g_string_printf(url, "file:///%s/%s", ug_dir->str, page);
|
||||||
utf_8to16(url->str),
|
|
||||||
HH_DISPLAY_TOPIC, 0);
|
|
||||||
|
|
||||||
/* if the .chm file could be opened, stop here */
|
|
||||||
if(hw != NULL) {
|
|
||||||
g_string_free(url, TRUE /* free_segment */);
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
#endif /* HHC_DIR */
|
g_string_free(ug_dir, TRUE);
|
||||||
|
#elif defined(DOC_DIR)
|
||||||
#ifdef DOC_DIR
|
|
||||||
if (g_file_test(DOC_DIR "/guides/wsug_html_chunked", G_FILE_TEST_IS_DIR)) {
|
if (g_file_test(DOC_DIR "/guides/wsug_html_chunked", G_FILE_TEST_IS_DIR)) {
|
||||||
/* try to open the HTML page from wireshark.org instead */
|
/* try to open the HTML page from wireshark.org instead */
|
||||||
g_string_printf(url, "file://" DOC_DIR "/guides/wsug_html_chunked/%s", page);
|
g_string_printf(url, "file://" DOC_DIR "/guides/wsug_html_chunked/%s", page);
|
||||||
} else {
|
|
||||||
#endif /* ifdef DOC_DIR */
|
|
||||||
/* try to open the HTML page from wireshark.org instead */
|
|
||||||
g_string_printf(url, WS_DOCS_URL "/wsug_html_chunked/%s", page);
|
|
||||||
#ifdef DOC_DIR
|
|
||||||
}
|
}
|
||||||
#endif /* ifdef DOC_DIR */
|
#endif /* WIN32 / DOC_DIR */
|
||||||
|
|
||||||
|
|
||||||
|
/* Fall back to wireshark.org. */
|
||||||
|
if (url->len == 0) {
|
||||||
|
g_string_printf(url, WS_DOCS_URL "/wsug_html_chunked/%s", page);
|
||||||
|
}
|
||||||
return g_string_free(url, FALSE);
|
return g_string_free(url, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -111,9 +111,8 @@ typedef enum {
|
||||||
HELP_STAT_FLOW_GRAPH
|
HELP_STAT_FLOW_GRAPH
|
||||||
} topic_action_e;
|
} topic_action_e;
|
||||||
|
|
||||||
/** Given a page in the Wireshark User's Guide return its URL. On Windows
|
/** Given a page in the Wireshark User's Guide return its URL. If the
|
||||||
* an attempt will be made to open User Guide URLs with HTML Help. If
|
* attempt succeeds NULL will be returned.
|
||||||
* the attempt succeeds NULL will be returned.
|
|
||||||
*
|
*
|
||||||
* @param page A page in the User's Guide.
|
* @param page A page in the User's Guide.
|
||||||
* @return A static URL or NULL. A non-NULL return value must be freed
|
* @return A static URL or NULL. A non-NULL return value must be freed
|
||||||
|
@ -121,9 +120,8 @@ typedef enum {
|
||||||
*/
|
*/
|
||||||
gchar *user_guide_url(const gchar *page);
|
gchar *user_guide_url(const gchar *page);
|
||||||
|
|
||||||
/** Given a topic action return its URL. On Windows an attempt will be
|
/** Given a topic action return its URL. If the attempt succeeds NULL
|
||||||
* made to open User Guide URLs with HTML Help. If the attempt succeeds
|
* will be returned.
|
||||||
* NULL will be returned.
|
|
||||||
*
|
*
|
||||||
* @param action Topic action.
|
* @param action Topic action.
|
||||||
* @return A static URL or NULL. A non-NULL return value must be freed
|
* @return A static URL or NULL. A non-NULL return value must be freed
|
||||||
|
|
Loading…
Reference in New Issue