build: uninstall also CPML link from NSis
[adg.git] / build / adg.nsi.in
blob0b1934fb68bbbfb04e208c269450a51d80e5407b
1 ; ADG installer based on NSIS
2 ; Check http://nsis.sourceforge.net/ for details
4 !define SRCDIR "@abs_top_srcdir@"
5 !define BUILDDIR "@abs_top_builddir@"
6 !define USRDIR "@USRDIR@"
7 !define DLLDIR "${USRDIR}/bin"
9 ; ---------------------------------------------------------------
10 ; 1. Header file
12 !addincludedir "${SRCDIR}/build"
13 !include MUI2.nsh
14 !include EnvVarUpdate.nsh
16 Name "@PACKAGE_NAME@ @PACKAGE_VERSION@"
17 OutFile "@abs_top_builddir@/@PACKAGE@-@PACKAGE_VERSION@-win@ARCH@.exe"
18 SetCompressor /SOLID lzma
19 InstallDir "$PROGRAMFILES@ARCH@\@PACKAGE_NAME@"
20 RequestExecutionLevel user
22 ; ---------------------------------------------------------------
23 ; 2. Interface configuration
25 !define MUI_ABORTWARNING
26 !define MUI_COMPONENTSPAGE_SMALLDESC
28 !define MUI_ICON "${SRCDIR}/build/adg.ico"
29 !define MUI_UNICON "${SRCDIR}/build/adg.ico"
31 !define MUI_HEADERIMAGE
32 !define MUI_HEADERIMAGE_RIGHT
33 !define MUI_HEADERIMAGE_BITMAP "${SRCDIR}/build/adg-header.bmp"
34 !define MUI_HEADERIMAGE_UNBITMAP "${SRCDIR}/build/adg-header.bmp"
36 !define MUI_WELCOMEFINISHPAGE_BITMAP "${SRCDIR}/build/adg-welcome.bmp"
37 !define MUI_UNWELCOMEFINISHPAGE_BITMAP "${SRCDIR}/build/adg-welcome.bmp"
39 ; ---------------------------------------------------------------
40 ; 3. Pages
42 !insertmacro MUI_PAGE_WELCOME
43 !insertmacro MUI_PAGE_LICENSE "@abs_top_srcdir@/COPYING"
44 !insertmacro MUI_PAGE_COMPONENTS
45 !insertmacro MUI_PAGE_DIRECTORY
46 !insertmacro MUI_PAGE_INSTFILES
47 !insertmacro MUI_PAGE_FINISH
49 !insertmacro MUI_UNPAGE_WELCOME
50 !insertmacro MUI_UNPAGE_INSTFILES
51 !insertmacro MUI_UNPAGE_FINISH
53 ; ---------------------------------------------------------------
54 ; 4. Language files
56 !insertmacro MUI_LANGUAGE "English"
57 !insertmacro MUI_LANGUAGE "Italian"
59 ; ---------------------------------------------------------------
60 ; 5. Reserve files
63 ; ---------------------------------------------------------------
64 ; I. Installer sections
66 Section "ADG canvas" SecBase
67 SectionIn RO
69 SetOutPath "$INSTDIR"
70 File /oname=adg-demo.exe "${BUILDDIR}/demo/.libs/adg-demo-uninstalled.exe"
71 File /oname=cpml-demo.exe "${BUILDDIR}/demo/.libs/cpml-demo-uninstalled.exe"
73 SetOutPath "$INSTDIR\share\adg"
74 File "${BUILDDIR}/demo/adg-demo.ui"
75 File "${BUILDDIR}/demo/cpml-demo.ui"
76 File "${SRCDIR}/demo/adg-16.png"
77 File "${SRCDIR}/demo/adg-32.png"
78 File "${SRCDIR}/demo/adg-48.png"
79 File "${SRCDIR}/demo/adg-64.png"
80 File "${SRCDIR}/demo/adg-128.png"
82 SetOutPath "$INSTDIR\bin"
83 File "${DLLDIR}/zlib1.dll"
84 File "${DLLDIR}/libexpat-*.dll"
85 File "${DLLDIR}/libintl-*.dll"
86 File "${DLLDIR}/iconv.dll"
87 File "${DLLDIR}/libffi-*.dll"
88 File "${DLLDIR}/libpng??-*.dll"
89 File "${DLLDIR}/libglib-2.0-*.dll"
90 File "${DLLDIR}/libgthread-2.0-*.dll"
91 File "${DLLDIR}/libgmodule-2.0-*.dll"
92 File "${DLLDIR}/libgobject-2.0-*.dll"
93 File "${DLLDIR}/libgio-2.0-*.dll"
94 File "${DLLDIR}/libpixman-1-*.dll"
95 File "${DLLDIR}/libcairo-*.dll"
96 File "${DLLDIR}/libpango-1.0-*.dll"
97 File "${DLLDIR}/libpangocairo-1.0-*.dll"
98 File "${DLLDIR}/libpangowin32-1.0-*.dll"
99 File "${DLLDIR}/libatk-1.0-*.dll"
100 File "${DLLDIR}/libgdk_pixbuf-2.0-*.dll"
101 File "${DLLDIR}/libgdk-3-*.dll"
102 File "${DLLDIR}/libgtk-3-*.dll"
103 File "${BUILDDIR}/src/cpml/.libs/libcpml-1-*.dll"
104 File "${BUILDDIR}/src/adg/.libs/libadg-1-*.dll"
106 SetOutPath "$INSTDIR\share\glib-2.0\schemas"
107 File "${USRDIR}/share/glib-2.0/schemas/gschemas.compiled"
109 CreateDirectory "$SMPROGRAMS\ADG Canvas"
110 CreateShortcut "$SMPROGRAMS\ADG Canvas\ADG demonstration program.lnk" "$INSTDIR\adg-demo.exe"
111 CreateShortcut "$SMPROGRAMS\ADG Canvas\CPML test case.lnk" "$INSTDIR\cpml-demo.exe"
112 CreateShortcut "$SMPROGRAMS\ADG Canvas\Uninstall ADG Canvas.lnk" "$INSTDIR\uninstall.exe"
114 WriteUninstaller "$INSTDIR\uninstall.exe"
115 ${EnvVarUpdate} $0 "PATH" "A" "HKCU" "$INSTDIR\bin"
116 SectionEnd
118 Section "Support for languages" SecLanguages
119 SetOutPath "$INSTDIR\share\locale"
120 SectionEnd
122 ; Descriptions
124 LangString DESC_SecBase ${LANG_ENGLISH} "Base installation for running the demo program."
125 LangString DESC_SecBase ${LANG_ITALIAN} "Installazione di base per eseguire il programma dimostrativo."
126 LangString DESC_SecLanguages ${LANG_ENGLISH} "Enable support for languages other than english."
127 LangString DESC_SecLanguages ${LANG_ITALIAN} "Abilitazione del supporto a lingue diverse dall'inglese."
129 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
130 !insertmacro MUI_DESCRIPTION_TEXT ${SecBase} $(DESC_SecBase)
131 !insertmacro MUI_DESCRIPTION_TEXT ${SecLanguages} $(DESC_SecLanguages)
132 !insertmacro MUI_FUNCTION_DESCRIPTION_END
134 ; Uninstaller
136 Section "Uninstall"
137 Delete "$SMPROGRAMS\ADG Canvas\ADG Demonstration program.lnk"
138 Delete "$SMPROGRAMS\ADG Canvas\CPML test case.lnk"
139 Delete "$SMPROGRAMS\ADG Canvas\Uninstall ADG Canvas.lnk"
140 RMDir "$SMPROGRAMS\ADG Canvas"
142 Delete "$INSTDIR\bin\libgtk-3-*.dll"
143 Delete "$INSTDIR\bin\libgdk-3-*.dll"
144 Delete "$INSTDIR\bin\libgdk_pixbuf-2.0-*.dll"
145 Delete "$INSTDIR\bin\libatk-1.0-*.dll"
146 Delete "$INSTDIR\bin\libpangowin32-1.0-*.dll"
147 Delete "$INSTDIR\bin\libpangocairo-1.0-*.dll"
148 Delete "$INSTDIR\bin\libpango-1.0-*.dll"
149 Delete "$INSTDIR\bin\libcairo-*.dll"
150 Delete "$INSTDIR\bin\libpixman-1-*.dll"
151 Delete "$INSTDIR\bin\libgio-2.0-*.dll"
152 Delete "$INSTDIR\bin\libgobject-2.0-*.dll"
153 Delete "$INSTDIR\bin\libgmodule-2.0-*.dll"
154 Delete "$INSTDIR\bin\libgthread-2.0-*.dll"
155 Delete "$INSTDIR\bin\libglib-2.0-*.dll"
156 Delete "$INSTDIR\bin\libpng??-*.dll"
157 Delete "$INSTDIR\bin\libffi-*.dll"
158 Delete "$INSTDIR\bin\iconv.dll"
159 Delete "$INSTDIR\bin\libintl-*.dll"
160 Delete "$INSTDIR\bin\libexpat-*.dll"
161 Delete "$INSTDIR\bin\zlib1.dll"
162 Delete "$INSTDIR\bin\libcpml-1-*.dll"
163 Delete "$INSTDIR\bin\libadg-1-*.dll"
164 RMDir "$INSTDIR\bin"
166 Delete "$INSTDIR\share\adg\adg-demo.ui"
167 Delete "$INSTDIR\share\adg\cpml-demo.ui"
168 Delete "$INSTDIR\share\adg\adg-128.png"
169 Delete "$INSTDIR\share\adg\adg-64.png"
170 Delete "$INSTDIR\share\adg\adg-48.png"
171 Delete "$INSTDIR\share\adg\adg-32.png"
172 Delete "$INSTDIR\share\adg\adg-16.png"
173 RMDir "$INSTDIR\share\adg"
175 Delete "$INSTDIR\share\glib-2.0\schemas\gschemas.compiled"
176 RMDir "$INSTDIR\share\glib-2.0\schemas"
177 RMDir "$INSTDIR\share\glib-2.0"
179 RMDir "$INSTDIR\share\locale"
181 RMDir "$INSTDIR\share"
183 Delete "$INSTDIR\adg-demo.exe"
184 Delete "$INSTDIR\cpml-demo.exe"
185 Delete "$INSTDIR\uninstall.exe"
186 RMDir "$INSTDIR"
188 ${un.EnvVarUpdate} $0 "PATH" "R" "HKCU" "$INSTDIR\bin"
189 SectionEnd