3 ;--------------------------------
\r
4 ;Interface Configuration
\r
6 !define MUI_HEADERIMAGE
\r
7 !define MUI_HEADERIMAGE_BITMAP "@CMAKE_HOME_DIRECTORY@\doc\webcruft\simgrid_logo_win_2011.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@_SGjava_@NSIS_WIN_VERSION@@BIN_EXE@"
\r
31 Icon "@CMAKE_HOME_DIRECTORY@\doc\webcruft\SGicon.ico"
\r
33 RequestExecutionLevel admin
\r
35 # set the default installation directory
\r
36 InstallDir c:\SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@
\r
38 Section "Libraries and Headers" LibSection
\r
41 file @CMAKE_HOME_DIRECTORY@\AUTHORS
\r
42 file @CMAKE_HOME_DIRECTORY@\Changelog
\r
43 file @CMAKE_HOME_DIRECTORY@\COPYING
\r
44 file @CMAKE_HOME_DIRECTORY@\LICENSE-LGPL-2.1
\r
45 file @CMAKE_HOME_DIRECTORY@\NEWS
\r
48 CreateDirectory $INSTDIR\lib
\r
49 setOutPath $INSTDIR\lib
\r
50 file lib\libsimgrid.dll
\r
51 file lib\libsimgrid.def
\r
54 CreateDirectory $INSTDIR\include
\r
55 setOutPath $INSTDIR\include
\r
56 file @CMAKE_HOME_DIRECTORY@\include\xbt.h
\r
57 file include\simgrid_config.h
\r
59 CreateDirectory $INSTDIR\include\xbt
\r
60 setOutPath $INSTDIR\include\xbt
\r
61 file @CMAKE_HOME_DIRECTORY@\include\xbt\misc.h
\r
62 file @CMAKE_HOME_DIRECTORY@\include\xbt\sysdep.h
\r
63 file @CMAKE_HOME_DIRECTORY@\include\xbt\virtu.h
\r
64 file @CMAKE_HOME_DIRECTORY@\include\xbt\str.h
\r
65 file @CMAKE_HOME_DIRECTORY@\include\xbt\strbuff.h
\r
66 file @CMAKE_HOME_DIRECTORY@\include\xbt\hash.h
\r
67 file @CMAKE_HOME_DIRECTORY@\include\xbt\function_types.h
\r
68 file @CMAKE_HOME_DIRECTORY@\include\xbt\asserts.h
\r
69 file @CMAKE_HOME_DIRECTORY@\include\xbt\ex.h
\r
70 file @CMAKE_HOME_DIRECTORY@\include\xbt\log.h
\r
71 file @CMAKE_HOME_DIRECTORY@\include\xbt\module.h
\r
72 file @CMAKE_HOME_DIRECTORY@\include\xbt\mallocator.h
\r
73 file @CMAKE_HOME_DIRECTORY@\include\xbt\dynar.h
\r
74 file @CMAKE_HOME_DIRECTORY@\include\xbt\dict.h
\r
75 file @CMAKE_HOME_DIRECTORY@\include\xbt\set.h
\r
76 file @CMAKE_HOME_DIRECTORY@\include\xbt\heap.h
\r
77 file @CMAKE_HOME_DIRECTORY@\include\xbt\graph.h
\r
78 file @CMAKE_HOME_DIRECTORY@\include\xbt\fifo.h
\r
79 file @CMAKE_HOME_DIRECTORY@\include\xbt\swag.h
\r
80 file @CMAKE_HOME_DIRECTORY@\include\xbt\lib.h
\r
81 file @CMAKE_HOME_DIRECTORY@\include\xbt\matrix.h
\r
82 file @CMAKE_HOME_DIRECTORY@\include\xbt\peer.h
\r
83 file @CMAKE_HOME_DIRECTORY@\include\xbt\config.h
\r
84 file @CMAKE_HOME_DIRECTORY@\include\xbt\cunit.h
\r
85 file @CMAKE_HOME_DIRECTORY@\include\xbt\graphxml_parse.h
\r
86 file @CMAKE_HOME_DIRECTORY@\include\xbt\graphxml.h
\r
87 file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro_core.h
\r
88 file @CMAKE_HOME_DIRECTORY@\include\xbt\queue.h
\r
89 file @CMAKE_HOME_DIRECTORY@\include\xbt\setset.h
\r
90 file @CMAKE_HOME_DIRECTORY@\include\xbt\mmalloc.h
\r
91 file @CMAKE_HOME_DIRECTORY@\include\xbt\parmap.h
\r
92 file @CMAKE_HOME_DIRECTORY@\include\xbt\automaton.h
\r
93 file @CMAKE_HOME_DIRECTORY@\include\xbt\file_stat.h
\r
94 file @CMAKE_HOME_DIRECTORY@\include\xbt\xbt_os_thread.h
\r
95 file @CMAKE_HOME_DIRECTORY@\include\xbt\RngStream.h
\r
97 CreateDirectory $INSTDIR\include\simgrid
\r
98 setOutPath $INSTDIR\include\simgrid
\r
99 file @CMAKE_HOME_DIRECTORY@\include\simgrid\platf.h
\r
100 file @CMAKE_HOME_DIRECTORY@\include\simgrid\modelchecker.h
\r
101 file @CMAKE_HOME_DIRECTORY@\include\simgrid\simix.h
\r
103 CreateDirectory $INSTDIR\include\msg
\r
104 setOutPath $INSTDIR\include\msg
\r
105 file @CMAKE_HOME_DIRECTORY@\include\msg\msg.h
\r
106 file @CMAKE_HOME_DIRECTORY@\include\msg\datatypes.h
\r
108 CreateDirectory $INSTDIR\include\simdag
\r
109 setOutPath $INSTDIR\include\simdag
\r
110 file @CMAKE_HOME_DIRECTORY@\include\simdag\simdag.h
\r
111 file @CMAKE_HOME_DIRECTORY@\include\simdag\datatypes.h
\r
114 CreateDirectory $INSTDIR\include\surf
\r
115 setOutPath $INSTDIR\include\surf
\r
116 file @CMAKE_HOME_DIRECTORY@\include\surf\surfxml_parse.h
\r
117 file @CMAKE_HOME_DIRECTORY@\include\surf\simgrid_dtd.h
\r
118 file @CMAKE_HOME_DIRECTORY@\include\surf\surf_routing.h
\r
120 CreateDirectory $INSTDIR\include\instr
\r
121 setOutPath $INSTDIR\include\instr
\r
122 file @CMAKE_HOME_DIRECTORY@\include\instr\instr.h
\r
125 Section "Binaries" BinSection
\r
128 CreateDirectory $INSTDIR\bin
\r
129 setOutPath $INSTDIR\bin
\r
131 file bin\graphicator@BIN_EXE@
\r
132 file bin\simgrid_update_xml
\r
136 Section "Documentation" DocSection
\r
139 CreateDirectory $INSTDIR\doc
\r
140 setOutPath $INSTDIR\doc
\r
141 file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html
\r
142 # create a shortcut in the start menu programs directory
\r
143 CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
144 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Documentation.lnk" "$INSTDIR\doc\html\index.html"
\r
145 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Website.lnk" "http://simgrid.gforge.inria.fr/"
\r
148 Section "Examples" ExamplesSection
\r
150 CreateDirectory $INSTDIR\examples
\r
151 setOutPath $INSTDIR\examples
\r
153 #install examples for platforms
\r
154 file /r @CMAKE_HOME_DIRECTORY@\examples\platforms
\r
156 # install example HelloWorld
\r
157 file /r @CMAKE_HOME_DIRECTORY@\doc\HelloWorld
\r
159 # install example MasterSlave
\r
160 CreateDirectory $INSTDIR\examples\MasterSlave
\r
161 setOutPath $INSTDIR\examples\MasterSlave
\r
162 file @CMAKE_HOME_DIRECTORY@\examples\msg\masterslave\masterslave_forwarder.c
\r
163 file @CMAKE_HOME_DIRECTORY@\examples\msg\masterslave\deployment_masterslave_forwarder.xml
\r
164 file @CMAKE_HOME_DIRECTORY@\examples\msg\msg_platform.xml
\r
165 file @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\CMakeLists.txt
\r
167 # create shortcuts in the start menu programs directory
\r
168 CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\"
\r
169 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\HelloWorld project.lnk" "$INSTDIR\examples\HelloWorld"
\r
170 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\MasterSlave project.lnk" "$INSTDIR\examples\MasterSlave"
\r
174 Section "Java Bindings" JavaSection
\r
175 # install java library and examples
\r
176 CreateDirectory $INSTDIR\examples\simgrid-java
\r
177 setOutPath $INSTDIR\lib
\r
178 file /nonfatal "$%SIMGRID_JAVA_SRC%\build\SG_java.dll"
\r
179 file /nonfatal "$%SIMGRID_JAVA_SRC%\build\SG_java.def"
\r
180 file /nonfatal "$%SIMGRID_JAVA_SRC%\simgrid.jar"
\r
181 setOutPath $INSTDIR\examples\simgrid-java
\r
182 file /nonfatal /r "$%SIMGRID_JAVA_SRC%\examples\"
\r
183 # create shortcuts in the start menu programs directory
\r
184 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\Java project.lnk" "$INSTDIR\examples\simgrid-java"
\r
185 # create a popup box, with an OK button"
\r
186 messageBox MB_OK "WARNING! Please add to your environment variable CLASSPATH value '$INSTDIR\lib\simgrid.jar;.' before executing Simgrid classes."
\r
189 Section "SMPI Library" SMPISection
\r
190 setOutPath $INSTDIR\bin
\r
197 setOutPath $INSTDIR\lib
\r
198 file lib\libsmpi.dll
\r
199 file lib\libsmpi.def
\r
201 CreateDirectory $INSTDIR\include\smpi
\r
202 setOutPath $INSTDIR\include\smpi
\r
203 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi.h
\r
204 file @CMAKE_HOME_DIRECTORY@\include\smpi\mpi.h
\r
205 file @CMAKE_HOME_DIRECTORY@\include\smpi\mpif.h
\r
206 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi_cocci.h
\r
207 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi_main.h
\r
208 file include\smpi\smpif.h
\r
210 CreateDirectory $INSTDIR\examples\smpi
\r
211 file /r @CMAKE_HOME_DIRECTORY@\examples\smpi\tracing
\r
212 file /r @CMAKE_HOME_DIRECTORY@\examples\smpi\replay
\r
213 setOutPath $INSTDIR\examples\smpi
\r
214 file @CMAKE_HOME_DIRECTORY@\examples\smpi\bcbench.c
\r
215 file @CMAKE_HOME_DIRECTORY@\examples\smpi\mvmul.c
\r
216 file @CMAKE_HOME_DIRECTORY@\examples\smpi\mc_bugged1.c
\r
217 file @CMAKE_HOME_DIRECTORY@\examples\smpi\mc_bugged2.c
\r
218 file @CMAKE_HOME_DIRECTORY@\examples\smpi\hostfile
\r
219 file @CMAKE_HOME_DIRECTORY@\examples\msg\small_platform_with_routers.xml
\r
220 file @CMAKE_HOME_DIRECTORY@\examples\smpi\CMakeLists.txt
\r
223 # default section start
\r
225 # define uninstaller name
\r
226 writeUninstaller $INSTDIR\uninstaller@BIN_EXE@
\r
228 # create a shortcut in the start menu programs directory
\r
229 CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
230 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Uninstall simgrid.lnk" "$INSTDIR\uninstaller@BIN_EXE@"
\r
232 # Include for some of the windows message defines
\r
233 !include "winmessages.nsh"
\r
234 # HKLM (all users) vs HKCU (current user) defines
\r
235 !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
\r
236 !define env_hkcu 'HKCU "Environment"'
\r
238 WriteRegExpandStr ${env_hkcu} SIMGRID_ROOT $INSTDIR
\r
239 WriteRegExpandStr ${env_hkcu} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@
\r
241 WriteRegStr HKCU "SOFTWARE\SimGrid" "Version" "@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
242 WriteRegStr HKCU "SOFTWARE\SimGrid" "InstallPath" "$INSTDIR"
\r
244 # create a popup box, with an OK button"
\r
245 messageBox MB_OK "WARNING! Please add to your environment variable PATH value '$INSTDIR\lib;$INSTDIR\GnuWin32\bin' before executing Simgrid binaries."
\r
247 SetRebootFlag false
\r
249 # default section end
\r
252 LangString DESC_LibSection ${LANG_ENGLISH} "Install Simgrid libraries with associated headers."
\r
253 LangString DESC_BinSection ${LANG_ENGLISH} "Install some useful tools for Simgrid."
\r
254 LangString DESC_DocSection ${LANG_ENGLISH} "Generated (doxygen) documentation."
\r
255 LangString DESC_ExamplesSection ${LANG_ENGLISH} "Simgrid's HelloWorld example and some classical platforms."
\r
256 LangString DESC_JAVASection ${LANG_ENGLISH} "Install the Java binding and examples."
\r
257 LangString DESC_SMPISection ${LANG_ENGLISH} "Install the SMPI library, headers, and examples."
\r
260 LangString DESC_LibSection ${LANG_FRENCH} "Installer les librairies Simgrid et leurs Ent�tes."
\r
261 LangString DESC_BinSection ${LANG_FRENCH} "Installer les outils optionnels."
\r
262 LangString DESC_DocSection ${LANG_FRENCH} "Installer la documentation."
\r
263 LangString DESC_ExamplesSection ${LANG_FRENCH} "Installer un exemple 'HelloWorld' et des fichiers de plate-formes types."
\r
264 LangString DESC_JAVASection ${LANG_FRENCH} "Installer la librairie Simgrid-java et les exemples."
\r
265 LangString DESC_SMPISection ${LANG_FRENCH} "Installer la librairie SMPI, ses en-t�tes, et ses exemples."
\r
267 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
\r
268 !insertmacro MUI_DESCRIPTION_TEXT ${LibSection} $(DESC_LibSection)
\r
269 !insertmacro MUI_DESCRIPTION_TEXT ${BinSection} $(DESC_BinSection)
\r
270 !insertmacro MUI_DESCRIPTION_TEXT ${DocSection} $(DESC_DocSection)
\r
271 !insertmacro MUI_DESCRIPTION_TEXT ${ExamplesSection} $(DESC_ExamplesSection)
\r
272 !insertmacro MUI_DESCRIPTION_TEXT ${JAVASection} $(DESC_JAVASection)
\r
273 !insertmacro MUI_DESCRIPTION_TEXT ${SMPISection} $(DESC_SMPISection)
\r
274 !insertmacro MUI_FUNCTION_DESCRIPTION_END
\r
276 # create a section to define what the uninstaller does.
\r
277 # the section will always be named "Uninstall"
\r
278 section "Uninstall"
\r
280 # always delete uninstaller first
\r
281 delete $INSTDIR\uninstaller@BIN_EXE@
\r
283 # delete installed libs
\r
284 delete $INSTDIR\lib\libsimgrid.dll
\r
285 delete $INSTDIR\lib\libsimgrid.def
\r
287 # delete installed bin
\r
288 delete $INSTDIR\bin\colorize
\r
289 delete $INSTDIR\bin\graphicator@BIN_EXE@
\r
290 delete $INSTDIR\bin\simgrid_update_xml
\r
291 delete $INSTDIR\bin\smpicc
\r
292 delete $INSTDIR\bin\smpif2c
\r
293 delete $INSTDIR\bin\smpiff
\r
294 delete $INSTDIR\bin\smpirun
\r
295 delete $INSTDIR\bin\tesh
\r
297 # delete installed headers
\r
298 delete $INSTDIR\include\xbt.h
\r
299 delete $INSTDIR\include\simgrid_config.h
\r
300 delete $INSTDIR\include\xbt\misc.h
\r
301 delete $INSTDIR\include\xbt\sysdep.h
\r
302 delete $INSTDIR\include\xbt\virtu.h
\r
303 delete $INSTDIR\include\xbt\str.h
\r
304 delete $INSTDIR\include\xbt\strbuff.h
\r
305 delete $INSTDIR\include\xbt\hash.h
\r
306 delete $INSTDIR\include\xbt\function_types.h
\r
307 delete $INSTDIR\include\xbt\asserts.h
\r
308 delete $INSTDIR\include\xbt\ex.h
\r
309 delete $INSTDIR\include\xbt\log.h
\r
310 delete $INSTDIR\include\xbt\module.h
\r
311 delete $INSTDIR\include\xbt\mallocator.h
\r
312 delete $INSTDIR\include\xbt\dynar.h
\r
313 delete $INSTDIR\include\xbt\dict.h
\r
314 delete $INSTDIR\include\xbt\set.h
\r
315 delete $INSTDIR\include\xbt\heap.h
\r
316 delete $INSTDIR\include\xbt\graph.h
\r
317 delete $INSTDIR\include\xbt\fifo.h
\r
318 delete $INSTDIR\include\xbt\swag.h
\r
319 delete $INSTDIR\include\xbt\lib.h
\r
320 delete $INSTDIR\include\xbt\matrix.h
\r
321 delete $INSTDIR\include\xbt\peer.h
\r
322 delete $INSTDIR\include\xbt\config.h
\r
323 delete $INSTDIR\include\xbt\cunit.h
\r
324 delete $INSTDIR\include\xbt\graphxml_parse.h
\r
325 delete $INSTDIR\include\xbt\graphxml.h
\r
326 delete $INSTDIR\include\xbt\time.h
\r
327 delete $INSTDIR\include\xbt\synchro.h
\r
328 delete $INSTDIR\include\xbt\synchro_core.h
\r
329 delete $INSTDIR\include\xbt\queue.h
\r
330 delete $INSTDIR\include\xbt\setset.h
\r
331 delete $INSTDIR\include\xbt\mmalloc.h
\r
332 delete $INSTDIR\include\xbt\replay_trace_reader.h
\r
333 delete $INSTDIR\include\xbt\parmap.h
\r
334 delete $INSTDIR\include\xbt\socket.h
\r
335 delete $INSTDIR\include\xbt\file_stat.h
\r
337 delete $INSTDIR\include\simgrid\platf.h
\r
338 delete $INSTDIR\include\simgrid\modelchecker.h
\r
339 delete $INSTDIR\include\simgrid\simix.h
\r
341 delete $INSTDIR\include\msg\msg.h
\r
342 delete $INSTDIR\include\msg\datatypes.h
\r
343 delete $INSTDIR\include\simdag\simdag.h
\r
344 delete $INSTDIR\include\simdag\datatypes.h
\r
345 delete $INSTDIR\include\smpi\smpi.h
\r
346 delete $INSTDIR\include\smpi\mpi.h
\r
347 delete $INSTDIR\include\smpi\mpif.h
\r
348 delete $INSTDIR\include\smpi\smpi_cocci.h
\r
349 delete $INSTDIR\include\smpi\smpi_main.h
\r
350 delete $INSTDIR\include\smpi\smpif.h
\r
351 delete $INSTDIR\include\surf\surfxml_parse.h
\r
352 delete $INSTDIR\include\surf\simgrid_dtd.h
\r
353 delete $INSTDIR\include\surf\surf_routing.h
\r
354 delete $INSTDIR\include\instr\instr.h
\r
356 # delete EXTRA FILES
\r
357 delete $INSTDIR\AUTHORS
\r
358 delete $INSTDIR\Changelog
\r
359 delete $INSTDIR\COPYING
\r
360 delete $INSTDIR\LICENSE-LGPL-2.1
\r
361 delete $INSTDIR\NEWS
\r
363 # now delete directories
\r
364 RMDir "$INSTDIR\bin"
\r
365 RMDir "$INSTDIR\lib"
\r
366 RMDir "$INSTDIR\include\simix"
\r
367 RMDir "$INSTDIR\include\instr"
\r
368 RMDir "$INSTDIR\include\surf"
\r
369 RMDir "$INSTDIR\include\smpi"
\r
370 RMDir "$INSTDIR\include\simdag"
\r
371 RMDir "$INSTDIR\include\msg"
\r
372 RMDir "$INSTDIR\include\mc"
\r
373 RMDir "$INSTDIR\include\xbt"
\r
374 RMDir "$INSTDIR\include"
\r
375 RMDir /r "$INSTDIR\doc"
\r
376 RMDir /r "$INSTDIR\examples"
\r
377 RMDir /r "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
380 DeleteRegValue ${env_hkcu} SIMGRID_ROOT
\r
381 DeleteRegValue ${env_hkcu} SIMGRID_VERSION
\r
382 DeleteRegKey HKCU "SOFTWARE\SimGrid"
\r
384 # delete JAVA-bindings
\r
385 RMDir /r "$INSTDIR\simgrid-java"
\r
388 RMDir /r "$INSTDIR"
\r
390 # uninstall section end
\r