3 ;--------------------------------
\r
4 ;Interface Configuration
\r
6 !define MUI_HEADERIMAGE
\r
7 !define MUI_HEADERIMAGE_BITMAP "@CMAKE_HOME_DIRECTORY@\doc\webcruft\simgrid_logo_win.bmp" ; optional
\r
8 !define MUI_ABORTWARNING
\r
10 ;--------------------------------
\r
13 !insertmacro MUI_PAGE_LICENSE "@CMAKE_HOME_DIRECTORY@\LICENSE-LGPL-2.1"
\r
14 !insertmacro MUI_PAGE_COMPONENTS
\r
15 !insertmacro MUI_PAGE_DIRECTORY
\r
16 !insertmacro MUI_PAGE_INSTFILES
\r
17 !insertmacro MUI_PAGE_FINISH
\r
19 !insertmacro MUI_UNPAGE_CONFIRM
\r
20 !insertmacro MUI_UNPAGE_INSTFILES
\r
21 !insertmacro MUI_UNPAGE_FINISH
\r
23 ;--------------------------------
\r
25 !insertmacro MUI_LANGUAGE "English"
\r
26 !insertmacro MUI_LANGUAGE "French"
\r
27 ;--------------------------------
\r
30 outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_@SIMGRID_SYSTEM_PROCESSOR@@BIN_EXE@"
\r
31 Icon "@CMAKE_HOME_DIRECTORY@\doc\webcruft\SimGrid.ico"
\r
33 # set the default installation directory
\r
34 InstallDir c:\SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@
\r
36 Section "Libraries and Headers" LibSection
\r
39 CreateDirectory $INSTDIR\lib
\r
40 setOutPath $INSTDIR\lib
\r
41 file lib\libgras.@LIB_EXE@
\r
42 file lib\libsimgrid.@LIB_EXE@
\r
45 CreateDirectory $INSTDIR\include
\r
46 setOutPath $INSTDIR\include
\r
47 file @CMAKE_HOME_DIRECTORY@\include\gras.h
\r
48 file @CMAKE_HOME_DIRECTORY@\include\xbt.h
\r
49 file include\simgrid_config.h
\r
51 CreateDirectory $INSTDIR\include\xbt
\r
52 setOutPath $INSTDIR\include\xbt
\r
53 file @CMAKE_HOME_DIRECTORY@\include\xbt\misc.h
\r
54 file @CMAKE_HOME_DIRECTORY@\include\xbt\sysdep.h
\r
55 file @CMAKE_HOME_DIRECTORY@\include\xbt\virtu.h
\r
56 file @CMAKE_HOME_DIRECTORY@\include\xbt\str.h
\r
57 file @CMAKE_HOME_DIRECTORY@\include\xbt\strbuff.h
\r
58 file @CMAKE_HOME_DIRECTORY@\include\xbt\hash.h
\r
59 file @CMAKE_HOME_DIRECTORY@\include\xbt\function_types.h
\r
60 file @CMAKE_HOME_DIRECTORY@\include\xbt\asserts.h
\r
61 file @CMAKE_HOME_DIRECTORY@\include\xbt\ex.h
\r
62 file @CMAKE_HOME_DIRECTORY@\include\xbt\log.h
\r
63 file @CMAKE_HOME_DIRECTORY@\include\xbt\module.h
\r
64 file @CMAKE_HOME_DIRECTORY@\include\xbt\mallocator.h
\r
65 file @CMAKE_HOME_DIRECTORY@\include\xbt\dynar.h
\r
66 file @CMAKE_HOME_DIRECTORY@\include\xbt\dict.h
\r
67 file @CMAKE_HOME_DIRECTORY@\include\xbt\set.h
\r
68 file @CMAKE_HOME_DIRECTORY@\include\xbt\heap.h
\r
69 file @CMAKE_HOME_DIRECTORY@\include\xbt\graph.h
\r
70 file @CMAKE_HOME_DIRECTORY@\include\xbt\fifo.h
\r
71 file @CMAKE_HOME_DIRECTORY@\include\xbt\swag.h
\r
72 file @CMAKE_HOME_DIRECTORY@\include\xbt\lib.h
\r
73 file @CMAKE_HOME_DIRECTORY@\include\xbt\matrix.h
\r
74 file @CMAKE_HOME_DIRECTORY@\include\xbt\peer.h
\r
75 file @CMAKE_HOME_DIRECTORY@\include\xbt\config.h
\r
76 file @CMAKE_HOME_DIRECTORY@\include\xbt\cunit.h
\r
77 file @CMAKE_HOME_DIRECTORY@\include\xbt\graphxml_parse.h
\r
78 file @CMAKE_HOME_DIRECTORY@\include\xbt\graphxml.h
\r
79 file @CMAKE_HOME_DIRECTORY@\include\xbt\time.h
\r
80 file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro.h
\r
81 file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro_core.h
\r
82 file @CMAKE_HOME_DIRECTORY@\include\xbt\queue.h
\r
83 file @CMAKE_HOME_DIRECTORY@\include\xbt\setset.h
\r
84 file @CMAKE_HOME_DIRECTORY@\include\xbt\mmalloc.h
\r
85 file @CMAKE_HOME_DIRECTORY@\include\xbt\replay_trace_reader.h
\r
86 file @CMAKE_HOME_DIRECTORY@\include\xbt\parmap.h
\r
88 CreateDirectory $INSTDIR\include\mc
\r
89 setOutPath $INSTDIR\include\mc
\r
90 file @CMAKE_HOME_DIRECTORY@\include\mc\modelchecker.h
\r
92 CreateDirectory $INSTDIR\include\msg
\r
93 setOutPath $INSTDIR\include\msg
\r
94 file @CMAKE_HOME_DIRECTORY@\include\msg\msg.h
\r
95 file @CMAKE_HOME_DIRECTORY@\include\msg\datatypes.h
\r
97 CreateDirectory $INSTDIR\include\simdag
\r
98 setOutPath $INSTDIR\include\simdag
\r
99 file @CMAKE_HOME_DIRECTORY@\include\simdag\simdag.h
\r
100 file @CMAKE_HOME_DIRECTORY@\include\simdag\datatypes.h
\r
102 CreateDirectory $INSTDIR\include\smpi
\r
103 setOutPath $INSTDIR\include\smpi
\r
104 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi.h
\r
105 file @CMAKE_HOME_DIRECTORY@\include\smpi\mpi.h
\r
106 file @CMAKE_HOME_DIRECTORY@\include\smpi\mpif.h
\r
107 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi_cocci.h
\r
108 file include\smpi\smpif.h
\r
110 CreateDirectory $INSTDIR\include\surf
\r
111 setOutPath $INSTDIR\include\surf
\r
112 file @CMAKE_HOME_DIRECTORY@\include\surf\surfxml_parse.h
\r
113 file @CMAKE_HOME_DIRECTORY@\include\surf\simgrid_dtd.h
\r
114 file @CMAKE_HOME_DIRECTORY@\include\surf\surf_routing.h
\r
116 CreateDirectory $INSTDIR\include\gras
\r
117 setOutPath $INSTDIR\include\gras
\r
118 file @CMAKE_HOME_DIRECTORY@\include\gras\datadesc.h
\r
119 file @CMAKE_HOME_DIRECTORY@\include\gras\transport.h
\r
120 file @CMAKE_HOME_DIRECTORY@\include\gras\virtu.h
\r
121 file @CMAKE_HOME_DIRECTORY@\include\gras\emul.h
\r
122 file @CMAKE_HOME_DIRECTORY@\include\gras\process.h
\r
123 file @CMAKE_HOME_DIRECTORY@\include\gras\module.h
\r
124 file @CMAKE_HOME_DIRECTORY@\include\gras\messages.h
\r
125 file @CMAKE_HOME_DIRECTORY@\include\gras\timer.h
\r
127 CreateDirectory $INSTDIR\include\amok
\r
128 setOutPath $INSTDIR\include\amok
\r
129 file @CMAKE_HOME_DIRECTORY@\include\amok\peermanagement.h
\r
130 file @CMAKE_HOME_DIRECTORY@\include\amok\bandwidth.h
\r
132 CreateDirectory $INSTDIR\include\instr
\r
133 setOutPath $INSTDIR\include\instr
\r
134 file @CMAKE_HOME_DIRECTORY@\include\instr\instr.h
\r
136 CreateDirectory $INSTDIR\include\simix
\r
137 setOutPath $INSTDIR\include\simix
\r
138 file @CMAKE_HOME_DIRECTORY@\include\simix\simix.h
\r
139 file @CMAKE_HOME_DIRECTORY@\include\simix\datatypes.h
\r
140 file @CMAKE_HOME_DIRECTORY@\include\simix\context.h
\r
143 Section "Binaries" BinSection
\r
146 CreateDirectory $INSTDIR\bin
\r
147 setOutPath $INSTDIR\bin
\r
149 file bin\graphicator@BIN_EXE@
\r
150 file bin\gras_stub_generator@BIN_EXE@
\r
151 file bin\simgrid_update_xml
\r
159 Section "Documentation" DocSection
\r
162 CreateDirectory $INSTDIR\doc
\r
163 setOutPath $INSTDIR\doc
\r
164 file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html
\r
165 # create a shortcut in the start menu programs directory
\r
166 CreateDirectory "$SMPROGRAMS\SimGrid"
\r
167 createShortCut "$SMPROGRAMS\SimGrid\Documentation.lnk" "$INSTDIR\doc\html\index.html"
\r
170 Section "Examples" ExamplesSection
\r
173 CreateDirectory $INSTDIR\examples
\r
174 setOutPath $INSTDIR\examples
\r
175 file /r @CMAKE_HOME_DIRECTORY@\examples\platforms
\r
176 file /r @CMAKE_HOME_DIRECTORY@\doc\HelloWorld
\r
177 # create a shortcut in the start menu programs directory
\r
178 createShortCut "$SMPROGRAMS\SimGrid\HelloWorld project.lnk" "$INSTDIR\examples\HelloWorld"
\r
182 # default section start
\r
184 # define uninstaller name
\r
185 writeUninstaller $INSTDIR\uninstaller@BIN_EXE@
\r
187 # create a shortcut in the start menu programs directory
\r
188 CreateDirectory "$SMPROGRAMS\SimGrid"
\r
189 createShortCut "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk" "$INSTDIR\uninstaller@BIN_EXE@"
\r
191 # Include for some of the windows message defines
\r
192 !include "winmessages.nsh"
\r
193 # HKLM (all users) vs HKCU (current user) defines
\r
194 !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
\r
195 !define env_hkcu 'HKCU "Environment"'
\r
197 WriteRegExpandStr ${env_hklm} SIMGRID_ROOT $INSTDIR
\r
198 WriteRegExpandStr ${env_hklm} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@
\r
200 WriteRegStr HKCU "SOFTWARE\SimGrid" "Version" "@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
201 WriteRegStr HKCU "SOFTWARE\SimGrid" "InstallPath" "$INSTDIR"
\r
205 # default section end
\r
208 LangString DESC_LibSection ${LANG_ENGLISH} "Install Simgrid and gras libraries with associated headers."
\r
209 LangString DESC_BinSection ${LANG_ENGLISH} "Install some useful tools for Simgrid."
\r
210 LangString DESC_DocSection ${LANG_ENGLISH} "Generated (doxygen) documentation."
\r
211 LangString DESC_ExamplesSection ${LANG_ENGLISH} "Simgrid's HelloWorld example and some classical platforms."
\r
213 LangString DESC_LibSection ${LANG_FRENCH} "Installer les librairies Simgrid et Gras et leurs EntĂȘtes."
\r
214 LangString DESC_BinSection ${LANG_FRENCH} "Installer les outils optionnels."
\r
215 LangString DESC_DocSection ${LANG_FRENCH} "Installer la documentation."
\r
216 LangString DESC_ExamplesSection ${LANG_FRENCH} "Installer un exemple 'HelloWorld' et des fichiers de plate-formes types."
\r
218 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
\r
219 !insertmacro MUI_DESCRIPTION_TEXT ${LibSection} $(DESC_LibSection)
\r
220 !insertmacro MUI_DESCRIPTION_TEXT ${BinSection} $(DESC_BinSection)
\r
221 !insertmacro MUI_DESCRIPTION_TEXT ${DocSection} $(DESC_DocSection)
\r
222 !insertmacro MUI_DESCRIPTION_TEXT ${ExamplesSection} $(DESC_ExamplesSection)
\r
223 !insertmacro MUI_FUNCTION_DESCRIPTION_END
\r
225 # create a section to define what the uninstaller does.
\r
226 # the section will always be named "Uninstall"
\r
227 section "Uninstall"
\r
229 # always delete uninstaller first
\r
230 delete $INSTDIR\uninstaller@BIN_EXE@
\r
232 # delete installed libs
\r
233 delete $INSTDIR\lib\libgras.@LIB_EXE@
\r
234 delete $INSTDIR\lib\libsimgrid.@LIB_EXE@
\r
236 # delete installed bin
\r
237 delete $INSTDIR\bin\colorize
\r
238 delete $INSTDIR\bin\graphicator@BIN_EXE@
\r
239 delete $INSTDIR\bin\gras_stub_generator@BIN_EXE@
\r
240 delete $INSTDIR\bin\simgrid_update_xml
\r
241 delete $INSTDIR\bin\smpicc
\r
242 delete $INSTDIR\bin\smpif2c
\r
243 delete $INSTDIR\bin\smpiff
\r
244 delete $INSTDIR\bin\smpirun
\r
245 delete $INSTDIR\bin\tesh
\r
247 # delete installed headers
\r
248 delete $INSTDIR\include\gras.h
\r
249 delete $INSTDIR\include\xbt.h
\r
250 delete $INSTDIR\include\simgrid_config.h
\r
251 delete $INSTDIR\include\xbt\misc.h
\r
252 delete $INSTDIR\include\xbt\sysdep.h
\r
253 delete $INSTDIR\include\xbt\virtu.h
\r
254 delete $INSTDIR\include\xbt\str.h
\r
255 delete $INSTDIR\include\xbt\strbuff.h
\r
256 delete $INSTDIR\include\xbt\hash.h
\r
257 delete $INSTDIR\include\xbt\function_types.h
\r
258 delete $INSTDIR\include\xbt\asserts.h
\r
259 delete $INSTDIR\include\xbt\ex.h
\r
260 delete $INSTDIR\include\xbt\log.h
\r
261 delete $INSTDIR\include\xbt\module.h
\r
262 delete $INSTDIR\include\xbt\mallocator.h
\r
263 delete $INSTDIR\include\xbt\dynar.h
\r
264 delete $INSTDIR\include\xbt\dict.h
\r
265 delete $INSTDIR\include\xbt\set.h
\r
266 delete $INSTDIR\include\xbt\heap.h
\r
267 delete $INSTDIR\include\xbt\graph.h
\r
268 delete $INSTDIR\include\xbt\fifo.h
\r
269 delete $INSTDIR\include\xbt\swag.h
\r
270 delete $INSTDIR\include\xbt\lib.h
\r
271 delete $INSTDIR\include\xbt\matrix.h
\r
272 delete $INSTDIR\include\xbt\peer.h
\r
273 delete $INSTDIR\include\xbt\config.h
\r
274 delete $INSTDIR\include\xbt\cunit.h
\r
275 delete $INSTDIR\include\xbt\graphxml_parse.h
\r
276 delete $INSTDIR\include\xbt\graphxml.h
\r
277 delete $INSTDIR\include\xbt\time.h
\r
278 delete $INSTDIR\include\xbt\synchro.h
\r
279 delete $INSTDIR\include\xbt\synchro_core.h
\r
280 delete $INSTDIR\include\xbt\queue.h
\r
281 delete $INSTDIR\include\xbt\setset.h
\r
282 delete $INSTDIR\include\xbt\mmalloc.h
\r
283 delete $INSTDIR\include\xbt\replay_trace_reader.h
\r
284 delete $INSTDIR\include\xbt\parmap.h
\r
285 delete $INSTDIR\include\mc\modelchecker.h
\r
286 delete $INSTDIR\include\msg\msg.h
\r
287 delete $INSTDIR\include\msg\datatypes.h
\r
288 delete $INSTDIR\include\simdag\simdag.h
\r
289 delete $INSTDIR\include\simdag\datatypes.h
\r
290 delete $INSTDIR\include\smpi\smpi.h
\r
291 delete $INSTDIR\include\smpi\mpi.h
\r
292 delete $INSTDIR\include\smpi\mpif.h
\r
293 delete $INSTDIR\include\smpi\smpi_cocci.h
\r
294 delete $INSTDIR\include\smpi\smpif.h
\r
295 delete $INSTDIR\include\surf\surfxml_parse.h
\r
296 delete $INSTDIR\include\surf\simgrid_dtd.h
\r
297 delete $INSTDIR\include\surf\surf_routing.h
\r
298 delete $INSTDIR\include\gras\datadesc.h
\r
299 delete $INSTDIR\include\gras\transport.h
\r
300 delete $INSTDIR\include\gras\virtu.h
\r
301 delete $INSTDIR\include\gras\emul.h
\r
302 delete $INSTDIR\include\gras\process.h
\r
303 delete $INSTDIR\include\gras\module.h
\r
304 delete $INSTDIR\include\gras\messages.h
\r
305 delete $INSTDIR\include\gras\timer.h
\r
306 delete $INSTDIR\include\amok\peermanagement.h
\r
307 delete $INSTDIR\include\amok\bandwidth.h
\r
308 delete $INSTDIR\include\instr\instr.h
\r
309 delete $INSTDIR\include\simix\simix.h
\r
310 delete $INSTDIR\include\simix\datatypes.h
\r
311 delete $INSTDIR\include\simix\context.h
\r
314 delete "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk"
\r
315 delete "$SMPROGRAMS\SimGrid\Documentation.lnk"
\r
316 delete "$SMPROGRAMS\SimGrid\HelloWorld project.lnk"
\r
318 # now delete directories
\r
319 RMDir "$INSTDIR\bin"
\r
320 RMDir "$INSTDIR\lib"
\r
321 RMDir "$INSTDIR\include\simix"
\r
322 RMDir "$INSTDIR\include\instr"
\r
323 RMDir "$INSTDIR\include\amok"
\r
324 RMDir "$INSTDIR\include\gras"
\r
325 RMDir "$INSTDIR\include\surf"
\r
326 RMDir "$INSTDIR\include\smpi"
\r
327 RMDir "$INSTDIR\include\simdag"
\r
328 RMDir "$INSTDIR\include\msg"
\r
329 RMDir "$INSTDIR\include\mc"
\r
330 RMDir "$INSTDIR\include\xbt"
\r
331 RMDir "$INSTDIR\include"
\r
332 RMDir /r "$INSTDIR\doc"
\r
333 RMDir /r "$INSTDIR\examples"
\r
334 RMDir "$SMPROGRAMS\SimGrid"
\r
337 DeleteRegValue ${env_hklm} SIMGRID_ROOT
\r
338 DeleteRegValue ${env_hklm} SIMGRID_VERSION
\r
339 DeleteRegKey HKCU "SOFTWARE\SimGrid"
\r
341 # uninstall section end
\r