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@_@NSIS_WIN_VERSION@@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 file @CMAKE_HOME_DIRECTORY@\AUTHORS
\r
40 file @CMAKE_HOME_DIRECTORY@\Changelog
\r
41 file @CMAKE_HOME_DIRECTORY@\COPYING
\r
42 file @CMAKE_HOME_DIRECTORY@\LICENSE-LGPL-2.1
\r
43 file @CMAKE_HOME_DIRECTORY@\NEWS
\r
46 CreateDirectory $INSTDIR\lib
\r
47 setOutPath $INSTDIR\lib
\r
48 file lib\libgras.@LIB_EXE@
\r
49 file lib\libsimgrid.@LIB_EXE@
\r
52 CreateDirectory $INSTDIR\include
\r
53 setOutPath $INSTDIR\include
\r
54 file @CMAKE_HOME_DIRECTORY@\include\gras.h
\r
55 file @CMAKE_HOME_DIRECTORY@\include\xbt.h
\r
56 file include\simgrid_config.h
\r
58 CreateDirectory $INSTDIR\include\xbt
\r
59 setOutPath $INSTDIR\include\xbt
\r
60 file @CMAKE_HOME_DIRECTORY@\include\xbt\misc.h
\r
61 file @CMAKE_HOME_DIRECTORY@\include\xbt\sysdep.h
\r
62 file @CMAKE_HOME_DIRECTORY@\include\xbt\virtu.h
\r
63 file @CMAKE_HOME_DIRECTORY@\include\xbt\str.h
\r
64 file @CMAKE_HOME_DIRECTORY@\include\xbt\strbuff.h
\r
65 file @CMAKE_HOME_DIRECTORY@\include\xbt\hash.h
\r
66 file @CMAKE_HOME_DIRECTORY@\include\xbt\function_types.h
\r
67 file @CMAKE_HOME_DIRECTORY@\include\xbt\asserts.h
\r
68 file @CMAKE_HOME_DIRECTORY@\include\xbt\ex.h
\r
69 file @CMAKE_HOME_DIRECTORY@\include\xbt\log.h
\r
70 file @CMAKE_HOME_DIRECTORY@\include\xbt\module.h
\r
71 file @CMAKE_HOME_DIRECTORY@\include\xbt\mallocator.h
\r
72 file @CMAKE_HOME_DIRECTORY@\include\xbt\dynar.h
\r
73 file @CMAKE_HOME_DIRECTORY@\include\xbt\dict.h
\r
74 file @CMAKE_HOME_DIRECTORY@\include\xbt\set.h
\r
75 file @CMAKE_HOME_DIRECTORY@\include\xbt\heap.h
\r
76 file @CMAKE_HOME_DIRECTORY@\include\xbt\graph.h
\r
77 file @CMAKE_HOME_DIRECTORY@\include\xbt\fifo.h
\r
78 file @CMAKE_HOME_DIRECTORY@\include\xbt\swag.h
\r
79 file @CMAKE_HOME_DIRECTORY@\include\xbt\lib.h
\r
80 file @CMAKE_HOME_DIRECTORY@\include\xbt\matrix.h
\r
81 file @CMAKE_HOME_DIRECTORY@\include\xbt\peer.h
\r
82 file @CMAKE_HOME_DIRECTORY@\include\xbt\config.h
\r
83 file @CMAKE_HOME_DIRECTORY@\include\xbt\cunit.h
\r
84 file @CMAKE_HOME_DIRECTORY@\include\xbt\graphxml_parse.h
\r
85 file @CMAKE_HOME_DIRECTORY@\include\xbt\graphxml.h
\r
86 file @CMAKE_HOME_DIRECTORY@\include\xbt\time.h
\r
87 file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro.h
\r
88 file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro_core.h
\r
89 file @CMAKE_HOME_DIRECTORY@\include\xbt\queue.h
\r
90 file @CMAKE_HOME_DIRECTORY@\include\xbt\setset.h
\r
91 file @CMAKE_HOME_DIRECTORY@\include\xbt\mmalloc.h
\r
92 file @CMAKE_HOME_DIRECTORY@\include\xbt\replay_trace_reader.h
\r
93 file @CMAKE_HOME_DIRECTORY@\include\xbt\parmap.h
\r
95 CreateDirectory $INSTDIR\include\mc
\r
96 setOutPath $INSTDIR\include\mc
\r
97 file @CMAKE_HOME_DIRECTORY@\include\mc\modelchecker.h
\r
99 CreateDirectory $INSTDIR\include\msg
\r
100 setOutPath $INSTDIR\include\msg
\r
101 file @CMAKE_HOME_DIRECTORY@\include\msg\msg.h
\r
102 file @CMAKE_HOME_DIRECTORY@\include\msg\datatypes.h
\r
104 CreateDirectory $INSTDIR\include\simdag
\r
105 setOutPath $INSTDIR\include\simdag
\r
106 file @CMAKE_HOME_DIRECTORY@\include\simdag\simdag.h
\r
107 file @CMAKE_HOME_DIRECTORY@\include\simdag\datatypes.h
\r
109 CreateDirectory $INSTDIR\include\smpi
\r
110 setOutPath $INSTDIR\include\smpi
\r
111 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi.h
\r
112 file @CMAKE_HOME_DIRECTORY@\include\smpi\mpi.h
\r
113 file @CMAKE_HOME_DIRECTORY@\include\smpi\mpif.h
\r
114 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi_cocci.h
\r
115 file include\smpi\smpif.h
\r
117 CreateDirectory $INSTDIR\include\surf
\r
118 setOutPath $INSTDIR\include\surf
\r
119 file @CMAKE_HOME_DIRECTORY@\include\surf\surfxml_parse.h
\r
120 file @CMAKE_HOME_DIRECTORY@\include\surf\simgrid_dtd.h
\r
121 file @CMAKE_HOME_DIRECTORY@\include\surf\surf_routing.h
\r
123 CreateDirectory $INSTDIR\include\gras
\r
124 setOutPath $INSTDIR\include\gras
\r
125 file @CMAKE_HOME_DIRECTORY@\include\gras\datadesc.h
\r
126 file @CMAKE_HOME_DIRECTORY@\include\gras\transport.h
\r
127 file @CMAKE_HOME_DIRECTORY@\include\gras\virtu.h
\r
128 file @CMAKE_HOME_DIRECTORY@\include\gras\emul.h
\r
129 file @CMAKE_HOME_DIRECTORY@\include\gras\process.h
\r
130 file @CMAKE_HOME_DIRECTORY@\include\gras\module.h
\r
131 file @CMAKE_HOME_DIRECTORY@\include\gras\messages.h
\r
132 file @CMAKE_HOME_DIRECTORY@\include\gras\timer.h
\r
134 CreateDirectory $INSTDIR\include\amok
\r
135 setOutPath $INSTDIR\include\amok
\r
136 file @CMAKE_HOME_DIRECTORY@\include\amok\peermanagement.h
\r
137 file @CMAKE_HOME_DIRECTORY@\include\amok\bandwidth.h
\r
139 CreateDirectory $INSTDIR\include\instr
\r
140 setOutPath $INSTDIR\include\instr
\r
141 file @CMAKE_HOME_DIRECTORY@\include\instr\instr.h
\r
143 CreateDirectory $INSTDIR\include\simix
\r
144 setOutPath $INSTDIR\include\simix
\r
145 file @CMAKE_HOME_DIRECTORY@\include\simix\simix.h
\r
146 file @CMAKE_HOME_DIRECTORY@\include\simix\datatypes.h
\r
147 file @CMAKE_HOME_DIRECTORY@\include\simix\context.h
\r
150 Section "Binaries" BinSection
\r
153 CreateDirectory $INSTDIR\bin
\r
154 setOutPath $INSTDIR\bin
\r
156 file bin\graphicator@BIN_EXE@
\r
157 file bin\gras_stub_generator@BIN_EXE@
\r
158 file bin\simgrid_update_xml
\r
166 Section "Documentation" DocSection
\r
169 CreateDirectory $INSTDIR\doc
\r
170 setOutPath $INSTDIR\doc
\r
171 file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html
\r
172 # create a shortcut in the start menu programs directory
\r
173 CreateDirectory "$SMPROGRAMS\SimGrid"
\r
174 createShortCut "$SMPROGRAMS\SimGrid\Documentation.lnk" "$INSTDIR\doc\html\index.html"
\r
175 createShortCut "$SMPROGRAMS\SimGrid\Website.lnk" "http://simgrid.gforge.inria.fr/"
\r
178 Section "Examples" ExamplesSection
\r
180 CreateDirectory $INSTDIR\examples
\r
181 setOutPath $INSTDIR\examples
\r
183 #install examples for platforms
\r
184 file /r @CMAKE_HOME_DIRECTORY@\examples\platforms
\r
186 # install example HelloWorld
\r
187 file /r @CMAKE_HOME_DIRECTORY@\doc\HelloWorld
\r
189 # install example MasterSlave
\r
190 CreateDirectory $INSTDIR\examples\MasterSlave
\r
191 setOutPath $INSTDIR\examples\MasterSlave
\r
192 file @CMAKE_HOME_DIRECTORY@\examples\msg\masterslave\masterslave_forwarder.c
\r
193 file @CMAKE_HOME_DIRECTORY@\examples\msg\masterslave\deployment_masterslave_forwarder.xml
\r
194 file @CMAKE_HOME_DIRECTORY@\examples\msg\msg_platform.xml
\r
195 file @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\CMakeLists.txt
\r
196 file @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\FindPCRE.cmake
\r
198 # create shortcuts in the start menu programs directory
\r
199 CreateDirectory "$SMPROGRAMS\SimGrid\Examples\"
\r
200 createShortCut "$SMPROGRAMS\SimGrid\Examples\HelloWorld project.lnk" "$INSTDIR\examples\HelloWorld"
\r
201 createShortCut "$SMPROGRAMS\SimGrid\Examples\MasterSlave project.lnk" "$INSTDIR\examples\MasterSlave"
\r
204 Section "Pcre library" PCRESection
\r
205 # install pcre library
\r
206 CreateDirectory $INSTDIR\GnuWin32
\r
207 setOutPath $INSTDIR\GnuWin32
\r
208 file "@PATH_PCRE_LICENCE@\LICENCE"
\r
210 CreateDirectory $INSTDIR\GnuWin32\lib
\r
211 setOutPath $INSTDIR\GnuWin32\lib
\r
212 file @PATHLIBPCRE@\libpcre.a
\r
213 file @PATHLIBPCRE@\libpcreposix.a
\r
215 CreateDirectory $INSTDIR\GnuWin32\include
\r
216 setOutPath $INSTDIR\GnuWin32\include
\r
217 file @PATH_PCRE_H@\pcre.h
\r
218 file @PATH_PCRE_H@\pcreposix.h
\r
221 # default section start
\r
223 # define uninstaller name
\r
224 writeUninstaller $INSTDIR\uninstaller@BIN_EXE@
\r
226 # create a shortcut in the start menu programs directory
\r
227 CreateDirectory "$SMPROGRAMS\SimGrid"
\r
228 createShortCut "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk" "$INSTDIR\uninstaller@BIN_EXE@"
\r
230 # Include for some of the windows message defines
\r
231 !include "winmessages.nsh"
\r
232 # HKLM (all users) vs HKCU (current user) defines
\r
233 !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
\r
234 !define env_hkcu 'HKCU "Environment"'
\r
236 WriteRegExpandStr ${env_hklm} SIMGRID_ROOT $INSTDIR
\r
237 WriteRegExpandStr ${env_hklm} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@
\r
239 WriteRegExpandStr ${env_hklm} SIMGRID_PCRE_LIBRARY_PATH $INSTDIR\GnuWin32
\r
240 WriteRegExpandStr ${env_hklm} SIMGRID_PCRE_LIBRARY_VERSION "8.12"
\r
242 WriteRegStr HKCU "SOFTWARE\SimGrid" "Version" "@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
243 WriteRegStr HKCU "SOFTWARE\SimGrid" "InstallPath" "$INSTDIR"
\r
247 # default section end
\r
250 LangString DESC_LibSection ${LANG_ENGLISH} "Install Simgrid and gras libraries with associated headers."
\r
251 LangString DESC_BinSection ${LANG_ENGLISH} "Install some useful tools for Simgrid."
\r
252 LangString DESC_DocSection ${LANG_ENGLISH} "Generated (doxygen) documentation."
\r
253 LangString DESC_ExamplesSection ${LANG_ENGLISH} "Simgrid's HelloWorld example and some classical platforms."
\r
254 LangString DESC_PCRESection ${LANG_ENGLISH} "Install the PCRE and PCREPOSIX libraries for SimGrid."
\r
256 LangString DESC_LibSection ${LANG_FRENCH} "Installer les librairies Simgrid et Gras et leurs EntĂȘtes."
\r
257 LangString DESC_BinSection ${LANG_FRENCH} "Installer les outils optionnels."
\r
258 LangString DESC_DocSection ${LANG_FRENCH} "Installer la documentation."
\r
259 LangString DESC_ExamplesSection ${LANG_FRENCH} "Installer un exemple 'HelloWorld' et des fichiers de plate-formes types."
\r
260 LangString DESC_PCRESection ${LANG_FRENCH} "Installer les librairies PCRE et PCREPOSIX for SimGrid."
\r
262 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
\r
263 !insertmacro MUI_DESCRIPTION_TEXT ${LibSection} $(DESC_LibSection)
\r
264 !insertmacro MUI_DESCRIPTION_TEXT ${BinSection} $(DESC_BinSection)
\r
265 !insertmacro MUI_DESCRIPTION_TEXT ${DocSection} $(DESC_DocSection)
\r
266 !insertmacro MUI_DESCRIPTION_TEXT ${ExamplesSection} $(DESC_ExamplesSection)
\r
267 !insertmacro MUI_DESCRIPTION_TEXT ${PCRESection} $(DESC_PCRESection)
\r
268 !insertmacro MUI_FUNCTION_DESCRIPTION_END
\r
270 # create a section to define what the uninstaller does.
\r
271 # the section will always be named "Uninstall"
\r
272 section "Uninstall"
\r
274 # always delete uninstaller first
\r
275 delete $INSTDIR\uninstaller@BIN_EXE@
\r
277 # delete installed libs
\r
278 delete $INSTDIR\lib\libgras.@LIB_EXE@
\r
279 delete $INSTDIR\lib\libsimgrid.@LIB_EXE@
\r
281 # delete installed bin
\r
282 delete $INSTDIR\bin\colorize
\r
283 delete $INSTDIR\bin\graphicator@BIN_EXE@
\r
284 delete $INSTDIR\bin\gras_stub_generator@BIN_EXE@
\r
285 delete $INSTDIR\bin\simgrid_update_xml
\r
286 delete $INSTDIR\bin\smpicc
\r
287 delete $INSTDIR\bin\smpif2c
\r
288 delete $INSTDIR\bin\smpiff
\r
289 delete $INSTDIR\bin\smpirun
\r
290 delete $INSTDIR\bin\tesh
\r
292 # delete installed headers
\r
293 delete $INSTDIR\include\gras.h
\r
294 delete $INSTDIR\include\xbt.h
\r
295 delete $INSTDIR\include\simgrid_config.h
\r
296 delete $INSTDIR\include\xbt\misc.h
\r
297 delete $INSTDIR\include\xbt\sysdep.h
\r
298 delete $INSTDIR\include\xbt\virtu.h
\r
299 delete $INSTDIR\include\xbt\str.h
\r
300 delete $INSTDIR\include\xbt\strbuff.h
\r
301 delete $INSTDIR\include\xbt\hash.h
\r
302 delete $INSTDIR\include\xbt\function_types.h
\r
303 delete $INSTDIR\include\xbt\asserts.h
\r
304 delete $INSTDIR\include\xbt\ex.h
\r
305 delete $INSTDIR\include\xbt\log.h
\r
306 delete $INSTDIR\include\xbt\module.h
\r
307 delete $INSTDIR\include\xbt\mallocator.h
\r
308 delete $INSTDIR\include\xbt\dynar.h
\r
309 delete $INSTDIR\include\xbt\dict.h
\r
310 delete $INSTDIR\include\xbt\set.h
\r
311 delete $INSTDIR\include\xbt\heap.h
\r
312 delete $INSTDIR\include\xbt\graph.h
\r
313 delete $INSTDIR\include\xbt\fifo.h
\r
314 delete $INSTDIR\include\xbt\swag.h
\r
315 delete $INSTDIR\include\xbt\lib.h
\r
316 delete $INSTDIR\include\xbt\matrix.h
\r
317 delete $INSTDIR\include\xbt\peer.h
\r
318 delete $INSTDIR\include\xbt\config.h
\r
319 delete $INSTDIR\include\xbt\cunit.h
\r
320 delete $INSTDIR\include\xbt\graphxml_parse.h
\r
321 delete $INSTDIR\include\xbt\graphxml.h
\r
322 delete $INSTDIR\include\xbt\time.h
\r
323 delete $INSTDIR\include\xbt\synchro.h
\r
324 delete $INSTDIR\include\xbt\synchro_core.h
\r
325 delete $INSTDIR\include\xbt\queue.h
\r
326 delete $INSTDIR\include\xbt\setset.h
\r
327 delete $INSTDIR\include\xbt\mmalloc.h
\r
328 delete $INSTDIR\include\xbt\replay_trace_reader.h
\r
329 delete $INSTDIR\include\xbt\parmap.h
\r
330 delete $INSTDIR\include\mc\modelchecker.h
\r
331 delete $INSTDIR\include\msg\msg.h
\r
332 delete $INSTDIR\include\msg\datatypes.h
\r
333 delete $INSTDIR\include\simdag\simdag.h
\r
334 delete $INSTDIR\include\simdag\datatypes.h
\r
335 delete $INSTDIR\include\smpi\smpi.h
\r
336 delete $INSTDIR\include\smpi\mpi.h
\r
337 delete $INSTDIR\include\smpi\mpif.h
\r
338 delete $INSTDIR\include\smpi\smpi_cocci.h
\r
339 delete $INSTDIR\include\smpi\smpif.h
\r
340 delete $INSTDIR\include\surf\surfxml_parse.h
\r
341 delete $INSTDIR\include\surf\simgrid_dtd.h
\r
342 delete $INSTDIR\include\surf\surf_routing.h
\r
343 delete $INSTDIR\include\gras\datadesc.h
\r
344 delete $INSTDIR\include\gras\transport.h
\r
345 delete $INSTDIR\include\gras\virtu.h
\r
346 delete $INSTDIR\include\gras\emul.h
\r
347 delete $INSTDIR\include\gras\process.h
\r
348 delete $INSTDIR\include\gras\module.h
\r
349 delete $INSTDIR\include\gras\messages.h
\r
350 delete $INSTDIR\include\gras\timer.h
\r
351 delete $INSTDIR\include\amok\peermanagement.h
\r
352 delete $INSTDIR\include\amok\bandwidth.h
\r
353 delete $INSTDIR\include\instr\instr.h
\r
354 delete $INSTDIR\include\simix\simix.h
\r
355 delete $INSTDIR\include\simix\datatypes.h
\r
356 delete $INSTDIR\include\simix\context.h
\r
359 delete "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk"
\r
360 delete "$SMPROGRAMS\SimGrid\Documentation.lnk"
\r
361 delete "$SMPROGRAMS\SimGrid\Website.lnk"
\r
362 delete "$SMPROGRAMS\SimGrid\Examples\HelloWorld project.lnk"
\r
363 delete "$SMPROGRAMS\SimGrid\Examples\MasterSlave project.lnk"
\r
365 # delete EXTRA FILES
\r
366 delete $INSTDIR\AUTHORS
\r
367 delete $INSTDIR\Changelog
\r
368 delete $INSTDIR\COPYING
\r
369 delete $INSTDIR\LICENSE-LGPL-2.1
\r
370 delete $INSTDIR\NEWS
\r
372 # now delete directories
\r
373 RMDir "$INSTDIR\bin"
\r
374 RMDir "$INSTDIR\lib"
\r
375 RMDir "$INSTDIR\include\simix"
\r
376 RMDir "$INSTDIR\include\instr"
\r
377 RMDir "$INSTDIR\include\amok"
\r
378 RMDir "$INSTDIR\include\gras"
\r
379 RMDir "$INSTDIR\include\surf"
\r
380 RMDir "$INSTDIR\include\smpi"
\r
381 RMDir "$INSTDIR\include\simdag"
\r
382 RMDir "$INSTDIR\include\msg"
\r
383 RMDir "$INSTDIR\include\mc"
\r
384 RMDir "$INSTDIR\include\xbt"
\r
385 RMDir "$INSTDIR\include"
\r
386 RMDir /r "$INSTDIR\doc"
\r
387 RMDir /r "$INSTDIR\examples"
\r
388 RMDir "$SMPROGRAMS\SimGrid\Examples"
\r
389 RMDir "$SMPROGRAMS\SimGrid"
\r
392 RMDir /r "$INSTDIR\GnuWin32"
\r
395 DeleteRegValue ${env_hklm} SIMGRID_ROOT
\r
396 DeleteRegValue ${env_hklm} SIMGRID_VERSION
\r
397 DeleteRegValue ${env_hklm} SIMGRID_PCRE_LIBRARY_PATH
\r
398 DeleteRegValue ${env_hklm} SIMGRID_PCRE_LIBRARY_VERSION
\r
399 DeleteRegKey HKCU "SOFTWARE\SimGrid"
\r
402 RMDir /r "$INSTDIR"
\r
404 # uninstall section end
\r