[build] Improved nsis script
[adg.git] / build / adg.nsi.in
blob41525bf8fe8e9752a735f7376d048ad7260868b0
1 ; NSIS installer
2 ; Check http://nsis.sourceforge.net/ for details
4 !define DEMODIR "@abs_top_builddir@/demo/"
5 !define LIBDIR "@abs_top_builddir@/src/"
6 !define DLLDIR "@DLLDIR@"
8 !addincludedir "@abs_top_srcdir@/build"
9 !include "MUI2.nsh"
10 !include "EnvVarUpdate.nsh"
12 ; General -------------------------------------------------------
14 Name "@PACKAGE_NAME@ @PACKAGE_VERSION@"
15 OutFile "@abs_top_builddir@/@PACKAGE@-@PACKAGE_VERSION@-win32.exe"
16 SetCompressor /SOLID lzma
17 InstallDir "$PROGRAMFILES\@ADG_API_PACKAGE@"
18 RequestExecutionLevel user
20 ; Interface settings --------------------------------------------
22 !define MUI_ABORTWARNING
23 !define MUI_COMPONENTSPAGE_SMALLDESC
25 ; Pages ---------------------------------------------------------
27 !insertmacro MUI_PAGE_WELCOME
28 !insertmacro MUI_PAGE_LICENSE "@abs_top_srcdir@/COPYING"
29 !insertmacro MUI_PAGE_COMPONENTS
30 !insertmacro MUI_PAGE_DIRECTORY
31 !insertmacro MUI_PAGE_INSTFILES
32 !insertmacro MUI_PAGE_FINISH
34 !insertmacro MUI_UNPAGE_WELCOME
35 !insertmacro MUI_UNPAGE_INSTFILES
36 !insertmacro MUI_UNPAGE_FINISH
38 ; Languages -----------------------------------------------------
40 !insertmacro MUI_LANGUAGE "English"
41 !insertmacro MUI_LANGUAGE "Italian"
43 ; Sections ------------------------------------------------------
45 Section "ADG canvas" SecBase
46 SectionIn RO
47 SetOutPath "$INSTDIR"
49 File "${DEMODIR}/.libs/adg-demo.exe"
50 File "${DEMODIR}/adg-demo.ui"
51 File "@abs_top_srcdir@/demo/adg-64.png"
53 SetOutPath "$INSTDIR\bin"
54 File "${DLLDIR}/zlib1.dll"
55 File "${DLLDIR}/libexpat-*.dll"
56 File "${DLLDIR}/libpng14-*.dll"
57 File "${DLLDIR}/intl.dll"
58 File "${DLLDIR}/libglib-2.0-*.dll"
59 File "${DLLDIR}/libgmodule-2.0-*.dll"
60 File "${DLLDIR}/libgobject-2.0-*.dll"
61 File "${DLLDIR}/libfontconfig-*.dll"
62 File "${DLLDIR}/freetype6.dll"
63 File "${DLLDIR}/libpangoft2-1.0-*.dll"
64 File "${DLLDIR}/libcairo-*.dll"
65 File "${DLLDIR}/libpango-1.0-*.dll"
66 File "${DLLDIR}/libpango-1.0-*.dll"
67 File "${DLLDIR}/libpangocairo-1.0-*.dll"
68 File "${DLLDIR}/libpangowin32-1.0-*.dll"
69 File "${DLLDIR}/libgdk_pixbuf-2.0-*.dll"
70 File "${DLLDIR}/libgio-2.0-*.dll"
71 File "${DLLDIR}/libatk-1.0-*.dll"
72 File "${DLLDIR}/libgdk-win32-2.0-*.dll"
73 File "${DLLDIR}/libgtk-win32-2.0-*.dll"
74 File "${LIBDIR}/cpml/.libs/libcpml-1-*.dll"
75 File "${LIBDIR}/adg/.libs/libadg-1-*.dll"
76 File "${LIBDIR}/adg-gtk/.libs/libadg-gtk-1-*.dll"
78 CreateDirectory "$SMPROGRAMS\ADG Canvas"
79 CreateShortcut "$SMPROGRAMS\ADG Canvas\ADG demonstration program.lnk" $INSTDIR\adg-demo.exe
80 CreateShortcut "$SMPROGRAMS\ADG Canvas\Uninstall ADG Canvas.lnk" $INSTDIR\uninstall.exe
82 WriteUninstaller "$INSTDIR\uninstall.exe"
83 ${EnvVarUpdate} $0 "PATH" "A" "HKCU" "$INSTDIR\bin"
84 SectionEnd
86 Section "Support for languages" SecLanguages
87 SetOutPath "$INSTDIR\data"
88 SectionEnd
90 ; Descriptions --------------------------------------------------
92 LangString DESC_SecBase ${LANG_ENGLISH} "Base installation for running the demo program."
93 LangString DESC_SecBase ${LANG_ITALIAN} "Installazione di base per eseguire il programma dimostrativo."
94 LangString DESC_SecLanguages ${LANG_ENGLISH} "Enable support for languages other than english."
95 LangString DESC_SecLanguages ${LANG_ITALIAN} "Abilitazione del supporto a lingue diverse dall'inglese."
97 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
98 !insertmacro MUI_DESCRIPTION_TEXT ${SecBase} $(DESC_SecBase)
99 !insertmacro MUI_DESCRIPTION_TEXT ${SecLanguages} $(DESC_SecLanguages)
100 !insertmacro MUI_FUNCTION_DESCRIPTION_END
102 ; Uninstaller ---------------------------------------------------
104 Section "Uninstall"
105 Delete "$SMPROGRAMS\ADG Canvas\ADG Demonstration program.lnk"
106 Delete "$SMPROGRAMS\ADG Canvas\Uninstall ADG Canvas.lnk"
107 RMDir "$SMPROGRAMS\ADG Canvas"
109 Delete "$INSTDIR\adg-demo.exe"
110 Delete "$INSTDIR\adg-64.png"
111 Delete "$INSTDIR\adg-demo.ui"
113 Delete "$INSTDIR\bin\libadg-gtk-1-*.dll"
114 Delete "$INSTDIR\bin\libadg-1-*.dll"
115 Delete "$INSTDIR\bin\libcpml-1-*.dll"
116 Delete "$INSTDIR\bin\libgtk-win32-2.0-*.dll"
117 Delete "$INSTDIR\bin\libgdk-win32-2.0-*.dll"
118 Delete "$INSTDIR\bin\libatk-1.0-*.dll"
119 Delete "$INSTDIR\bin\libgio-2.0-*.dll"
120 Delete "$INSTDIR\bin\libgdk_pixbuf-2.0-*.dll"
121 Delete "$INSTDIR\bin\libpangowin32-1.0-*.dll"
122 Delete "$INSTDIR\bin\libpangocairo-1.0-*.dll"
123 Delete "$INSTDIR\bin\libpango-1.0-*.dll"
124 Delete "$INSTDIR\bin\libcairo-*.dll"
125 Delete "$INSTDIR\bin\libpangoft2-1.0-*.dll"
126 Delete "$INSTDIR\bin\freetype6.dll"
127 Delete "$INSTDIR\bin\libfontconfig-*.dll"
128 Delete "$INSTDIR\bin\libgobject-2.0-*.dll"
129 Delete "$INSTDIR\bin\libgmodule-2.0-*.dll"
130 Delete "$INSTDIR\bin\libglib-2.0-*.dll"
131 Delete "$INSTDIR\bin\intl.dll"
132 Delete "$INSTDIR\bin\libpng14-*.dll"
133 Delete "$INSTDIR\bin\libexpat-*.dll"
134 Delete "$INSTDIR\bin\zlib1.dll"
136 Delete "$INSTDIR\uninstall.exe"
137 RMDir "$INSTDIR\bin"
138 RMDir "$INSTDIR\data"
139 RMDir "$INSTDIR"
140 ${un.EnvVarUpdate} $0 "PATH" "R" "HKCU" "$INSTDIR\bin"
141 SectionEnd