From fc7705a870735dad6e9f2d4c07421775657823eb Mon Sep 17 00:00:00 2001 From: Nicola Fontana Date: Fri, 16 Jan 2015 23:15:08 +0100 Subject: [PATCH] build: NSIS installer optionally install PDF manuals Include the PDF generated documentation into the NSIS installer. This has been put in a section group together with the HTML documentation. Closes issue #150: http://dev.entidi.com/p/adg/issues/150/ --- Makefile.am | 4 ++-- build/Translations.nsh | 20 ++++++++++++++++---- build/adg.nsi | 35 +++++++++++++++++++++++++++-------- 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/Makefile.am b/Makefile.am index f6a355b4..fd0f7b2b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -62,7 +62,7 @@ installer: $(INSTALLER) # The installer needs the docs but the MinGW toolchain does not have # gtk-doc installed. Issue #148: http://dev.entidi.com/p/adg/issues/148/ -_host/docs/adg/html/index.html: +_host/docs/adg/adg.pdf: -mkdir _host ; \ cd _host && \ $(abs_srcdir)/configure \ @@ -82,7 +82,7 @@ _host/docs/adg/html/index.html: clean-local: -rm -fr _host -$(INSTALLER): _host/docs/adg/html/index.html +$(INSTALLER): _host/docs/adg/adg.pdf $(srcdir)/build/adg.nsi $(MAKENSIS) -NOCD $(srcdir)/build/adg.nsi mostlyclean-local: diff --git a/build/Translations.nsh b/build/Translations.nsh index 59a69cd4..7312a8af 100644 --- a/build/Translations.nsh +++ b/build/Translations.nsh @@ -30,8 +30,20 @@ LangString TITLE_SecLanguages ${LANG_ITALIAN} "Supporto lingue" LangString DESC_SecLanguages ${LANG_ENGLISH} "Enable support for languages other than english." LangString DESC_SecLanguages ${LANG_ITALIAN} "Abilitazione del supporto a lingue diverse dall'inglese." -LangString TITLE_SecDocumentation ${LANG_ENGLISH} "HTML documentation" -LangString TITLE_SecDocumentation ${LANG_ITALIAN} "Documentazione HTML" +LangString TITLE_SecDocumentation ${LANG_ENGLISH} "Developer documentation" +LangString TITLE_SecDocumentation ${LANG_ITALIAN} "Documentazione di sviluppo" -LangString DESC_SecDocumentation ${LANG_ENGLISH} "Install documentation, that is reference manuals for both CPML and ADG libraries." -LangString DESC_SecDocumentation ${LANG_ITALIAN} "Installare la documentazione, ossia i manuali di riferimento delle librerie CPML e ADG." +LangString DESC_SecDocumentation ${LANG_ENGLISH} "Install reference manuals for both CPML and ADG libraries." +LangString DESC_SecDocumentation ${LANG_ITALIAN} "Installare i manuali di riferimento delle librerie CPML e ADG." + +LangString TITLE_SecHTML ${LANG_ENGLISH} "HTML format" +LangString TITLE_SecHTML ${LANG_ITALIAN} "Formato HTML" + +LangString DESC_SecHTML ${LANG_ENGLISH} "Install manuals in HTML format. This is the better supported option." +LangString DESC_SecHTML ${LANG_ITALIAN} "Installare i manuali in formato HTML. Questa รจ l'opzione supportata meglio." + +LangString TITLE_SecPDF ${LANG_ENGLISH} "PDF documentation" +LangString TITLE_SecPDF ${LANG_ITALIAN} "Documentazione PDF" + +LangString DESC_SecPDF ${LANG_ENGLISH} "Install manuals in PDF format." +LangString DESC_SecPDF ${LANG_ITALIAN} "Installare i manuali in formato PDF." diff --git a/build/adg.nsi b/build/adg.nsi index 8b1e33f0..bebd9962 100644 --- a/build/adg.nsi +++ b/build/adg.nsi @@ -146,9 +146,8 @@ Section $(TITLE_SecBase) SecBase SectionEnd Function .onInstSuccess - ; The uninstall shortcut is installed inside onInstSuccess so any - ; subsequent section (e.g. SecDocumentation) can install other - ; shortcuts *before* this one. + ; The uninstall shortcut is installed inside onInstSuccess so any subsequent + ; section (e.g. SecHTML) can install other shortcuts *before* this one. CreateShortcut "$SMPROGRAMS\ADG Canvas\Uninstall ADG Canvas.lnk" "$INSTDIR\uninstall.exe" FunctionEnd @@ -163,24 +162,38 @@ SectionEnd ; III. Documentation -Section $(TITLE_SecDocumentation) SecDocumentation +SectionGroup /e $(TITLE_SecDocumentation) SecDocumentation + +Section $(TITLE_SecHTML) SecHTML SetOutPath "$INSTDIR\share\gtk-doc\html\cpml" File /r "${BUILDDIR}/_host/docs/cpml/html/*.*" SetOutPath "$INSTDIR\share\gtk-doc\html\adg" File /r "${BUILDDIR}/_host/docs/adg/html/*.*" - CreateShortcut "$SMPROGRAMS\ADG Canvas\CPML manual.lnk" '"$INSTDIR\share\gtk-doc\html\cpml\index.html"' - CreateShortcut "$SMPROGRAMS\ADG Canvas\ADG manual.lnk" '"$INSTDIR\share\gtk-doc\html\adg\index.html"' + CreateShortcut "$SMPROGRAMS\ADG Canvas\CPML HTML manual.lnk" '"$INSTDIR\share\gtk-doc\html\cpml\index.html"' + CreateShortcut "$SMPROGRAMS\ADG Canvas\CPML PDF manual.lnk" '"$INSTDIR\share\gtk-doc\cpml.pdf"' + CreateShortcut "$SMPROGRAMS\ADG Canvas\ADG HTML manual.lnk" '"$INSTDIR\share\gtk-doc\html\adg\index.html"' + CreateShortcut "$SMPROGRAMS\ADG Canvas\ADG PDF manual.lnk" '"$INSTDIR\share\gtk-doc\adg.pdf"' +SectionEnd + +Section /o $(TITLE_SecPDF) SecPDF + SetOutPath "$INSTDIR\share\gtk-doc" + File /r "${BUILDDIR}/_host/docs/cpml/cpml.pdf" + File /r "${BUILDDIR}/_host/docs/adg/adg.pdf" SectionEnd +SectionGroupEnd + ; IV. Uninstaller Section "Uninstall" Delete "$SMPROGRAMS\ADG Canvas\ADG Demonstration program.lnk" Delete "$SMPROGRAMS\ADG Canvas\CPML showcase.lnk" - Delete "$SMPROGRAMS\ADG Canvas\CPML manual.lnk" - Delete "$SMPROGRAMS\ADG Canvas\ADG manual.lnk" + Delete "$SMPROGRAMS\ADG Canvas\CPML HTML manual.lnk" + Delete "$SMPROGRAMS\ADG Canvas\CPML PDF manual.lnk" + Delete "$SMPROGRAMS\ADG Canvas\ADG HTML manual.lnk" + Delete "$SMPROGRAMS\ADG Canvas\ADG PDF manual.lnk" Delete "$SMPROGRAMS\ADG Canvas\Uninstall ADG Canvas.lnk" RMDir "$SMPROGRAMS\ADG Canvas" @@ -233,6 +246,10 @@ Section "Uninstall" RMDir /r "$INSTDIR\share\gtk-doc\html\cpml" RMDir /r "$INSTDIR\share\gtk-doc\html\adg" RMDir "$INSTDIR\share\gtk-doc\html" + + Delete "$INSTDIR\share\gtk-doc\adg.pdf" + Delete "$INSTDIR\share\gtk-doc\cpml.pdf" + RMDir "$INSTDIR\share\gtk-doc" RMDir "$INSTDIR\share" @@ -258,4 +275,6 @@ FunctionEnd !insertmacro MUI_DESCRIPTION_TEXT ${SecBase} $(DESC_SecBase) !insertmacro MUI_DESCRIPTION_TEXT ${SecLanguages} $(DESC_SecLanguages) !insertmacro MUI_DESCRIPTION_TEXT ${SecDocumentation} $(DESC_SecDocumentation) + !insertmacro MUI_DESCRIPTION_TEXT ${SecHTML} $(DESC_SecHTML) + !insertmacro MUI_DESCRIPTION_TEXT ${SecPDF} $(DESC_SecPDF) !insertmacro MUI_FUNCTION_DESCRIPTION_END -- 2.11.4.GIT