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\time.h
\r
88 file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro.h
\r
89 file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro_core.h
\r
90 file @CMAKE_HOME_DIRECTORY@\include\xbt\queue.h
\r
91 file @CMAKE_HOME_DIRECTORY@\include\xbt\setset.h
\r
92 file @CMAKE_HOME_DIRECTORY@\include\xbt\mmalloc.h
\r
93 file @CMAKE_HOME_DIRECTORY@\include\xbt\parmap.h
\r
94 file @CMAKE_HOME_DIRECTORY@\include\xbt\automaton.h
\r
95 file @CMAKE_HOME_DIRECTORY@\include\xbt\automatonparse_promela.h
\r
96 file @CMAKE_HOME_DIRECTORY@\include\xbt\socket.h
\r
97 file @CMAKE_HOME_DIRECTORY@\include\xbt\file_stat.h
\r
98 file @CMAKE_HOME_DIRECTORY@\include\xbt\xbt_os_thread.h
\r
99 file @CMAKE_HOME_DIRECTORY@\include\xbt\RngStream.h
\r
101 CreateDirectory $INSTDIR\include\simgrid
\r
102 setOutPath $INSTDIR\include\simgrid
\r
103 file @CMAKE_HOME_DIRECTORY@\include\simgrid\platf.h
\r
104 file @CMAKE_HOME_DIRECTORY@\include\simgrid\modelchecker.h
\r
105 file @CMAKE_HOME_DIRECTORY@\include\simgrid\simix.h
\r
107 CreateDirectory $INSTDIR\include\msg
\r
108 setOutPath $INSTDIR\include\msg
\r
109 file @CMAKE_HOME_DIRECTORY@\include\msg\msg.h
\r
110 file @CMAKE_HOME_DIRECTORY@\include\msg\datatypes.h
\r
112 CreateDirectory $INSTDIR\include\simdag
\r
113 setOutPath $INSTDIR\include\simdag
\r
114 file @CMAKE_HOME_DIRECTORY@\include\simdag\simdag.h
\r
115 file @CMAKE_HOME_DIRECTORY@\include\simdag\datatypes.h
\r
117 CreateDirectory $INSTDIR\include\smpi
\r
118 setOutPath $INSTDIR\include\smpi
\r
119 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi.h
\r
120 file @CMAKE_HOME_DIRECTORY@\include\smpi\mpi.h
\r
121 file @CMAKE_HOME_DIRECTORY@\include\smpi\mpif.h
\r
122 file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi_cocci.h
\r
123 file include\smpi\smpif.h
\r
125 CreateDirectory $INSTDIR\include\surf
\r
126 setOutPath $INSTDIR\include\surf
\r
127 file @CMAKE_HOME_DIRECTORY@\include\surf\surfxml_parse.h
\r
128 file @CMAKE_HOME_DIRECTORY@\include\surf\simgrid_dtd.h
\r
129 file @CMAKE_HOME_DIRECTORY@\include\surf\surf_routing.h
\r
131 CreateDirectory $INSTDIR\include\instr
\r
132 setOutPath $INSTDIR\include\instr
\r
133 file @CMAKE_HOME_DIRECTORY@\include\instr\instr.h
\r
136 Section "Binaries" BinSection
\r
139 CreateDirectory $INSTDIR\bin
\r
140 setOutPath $INSTDIR\bin
\r
142 file bin\graphicator@BIN_EXE@
\r
143 file bin\simgrid_update_xml
\r
146 Section "Documentation" DocSection
\r
149 CreateDirectory $INSTDIR\doc
\r
150 setOutPath $INSTDIR\doc
\r
151 file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html
\r
152 # create a shortcut in the start menu programs directory
\r
153 CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
154 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Documentation.lnk" "$INSTDIR\doc\html\index.html"
\r
155 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Website.lnk" "http://simgrid.gforge.inria.fr/"
\r
158 Section "Examples" ExamplesSection
\r
160 CreateDirectory $INSTDIR\examples
\r
161 setOutPath $INSTDIR\examples
\r
163 #install examples for platforms
\r
164 file /r @CMAKE_HOME_DIRECTORY@\examples\platforms
\r
166 # install example HelloWorld
\r
167 file /r @CMAKE_HOME_DIRECTORY@\doc\HelloWorld
\r
169 # install example MasterSlave
\r
170 CreateDirectory $INSTDIR\examples\MasterSlave
\r
171 setOutPath $INSTDIR\examples\MasterSlave
\r
172 file @CMAKE_HOME_DIRECTORY@\examples\msg\masterslave\masterslave_forwarder.c
\r
173 file @CMAKE_HOME_DIRECTORY@\examples\msg\masterslave\deployment_masterslave_forwarder.xml
\r
174 file @CMAKE_HOME_DIRECTORY@\examples\msg\msg_platform.xml
\r
175 file @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\CMakeLists.txt
\r
176 file @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\FindPcreWin.cmake
\r
178 # create shortcuts in the start menu programs directory
\r
179 CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\"
\r
180 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\HelloWorld project.lnk" "$INSTDIR\examples\HelloWorld"
\r
181 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\MasterSlave project.lnk" "$INSTDIR\examples\MasterSlave"
\r
184 Section "Pcre library" PCRESection
\r
185 # install pcre library
\r
186 CreateDirectory $INSTDIR\GnuWin32
\r
187 setOutPath $INSTDIR\GnuWin32
\r
188 file /r "@PCRE_LIBRARY_PATH@\lib"
\r
189 file /r "@PCRE_LIBRARY_PATH@\include"
\r
190 file /r "@PCRE_LIBRARY_PATH@\bin"
\r
191 file /r "@PCRE_LIBRARY_PATH@\man"
\r
192 file /r "@PCRE_LIBRARY_PATH@\share"
\r
195 Section "Java Bindings" JavaSection
\r
196 # install java library and examples
\r
197 CreateDirectory $INSTDIR\examples\simgrid-java
\r
198 setOutPath $INSTDIR\lib
\r
199 file /nonfatal "$%SIMGRID_JAVA_SRC%\build\SG_java.dll"
\r
200 file /nonfatal "$%SIMGRID_JAVA_SRC%\build\SG_java.def"
\r
201 file /nonfatal "$%SIMGRID_JAVA_SRC%\simgrid.jar"
\r
202 setOutPath $INSTDIR\examples\simgrid-java
\r
203 file /nonfatal /r "$%SIMGRID_JAVA_SRC%\examples\"
\r
204 # create shortcuts in the start menu programs directory
\r
205 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\Java project.lnk" "$INSTDIR\examples\simgrid-java"
\r
206 # create a popup box, with an OK button"
\r
207 messageBox MB_OK "WARNING! Please add to your environment variable CLASSPATH value '$INSTDIR\lib\simgrid.jar;.' before executing Simgrid classes."
\r
210 # default section start
\r
212 # define uninstaller name
\r
213 writeUninstaller $INSTDIR\uninstaller@BIN_EXE@
\r
215 # create a shortcut in the start menu programs directory
\r
216 CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
217 createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Uninstall simgrid.lnk" "$INSTDIR\uninstaller@BIN_EXE@"
\r
219 # Include for some of the windows message defines
\r
220 !include "winmessages.nsh"
\r
221 # HKLM (all users) vs HKCU (current user) defines
\r
222 !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
\r
223 !define env_hkcu 'HKCU "Environment"'
\r
225 WriteRegExpandStr ${env_hkcu} SIMGRID_ROOT $INSTDIR
\r
226 WriteRegExpandStr ${env_hkcu} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@
\r
227 WriteRegExpandStr ${env_hkcu} SIMGRID_PCRE_LIBRARY_PATH $INSTDIR\GnuWin32
\r
228 WriteRegExpandStr ${env_hkcu} SIMGRID_PCRE_LIBRARY_VERSION "8.21"
\r
230 WriteRegStr HKCU "SOFTWARE\SimGrid" "Version" "@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
231 WriteRegStr HKCU "SOFTWARE\SimGrid" "InstallPath" "$INSTDIR"
\r
233 # create a popup box, with an OK button"
\r
234 messageBox MB_OK "WARNING! Please add to your environment variable PATH value '$INSTDIR\lib;$INSTDIR\GnuWin32\bin' before executing Simgrid binaries."
\r
238 # default section end
\r
241 LangString DESC_LibSection ${LANG_ENGLISH} "Install Simgrid libraries with associated headers."
\r
242 LangString DESC_BinSection ${LANG_ENGLISH} "Install some useful tools for Simgrid."
\r
243 LangString DESC_DocSection ${LANG_ENGLISH} "Generated (doxygen) documentation."
\r
244 LangString DESC_ExamplesSection ${LANG_ENGLISH} "Simgrid's HelloWorld example and some classical platforms."
\r
245 LangString DESC_PCRESection ${LANG_ENGLISH} "Install the PCRE and PCREPOSIX libraries for SimGrid."
\r
246 LangString DESC_JAVASection ${LANG_ENGLISH} "Install the Java binding and examples."
\r
248 LangString DESC_LibSection ${LANG_FRENCH} "Installer les librairies Simgrid et leurs EntĂȘtes."
\r
249 LangString DESC_BinSection ${LANG_FRENCH} "Installer les outils optionnels."
\r
250 LangString DESC_DocSection ${LANG_FRENCH} "Installer la documentation."
\r
251 LangString DESC_ExamplesSection ${LANG_FRENCH} "Installer un exemple 'HelloWorld' et des fichiers de plate-formes types."
\r
252 LangString DESC_PCRESection ${LANG_FRENCH} "Installer les librairies PCRE et PCREPOSIX for SimGrid."
\r
253 LangString DESC_JAVASection ${LANG_FRENCH} "Installer la librairie Simgrid-java and les examples."
\r
255 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
\r
256 !insertmacro MUI_DESCRIPTION_TEXT ${LibSection} $(DESC_LibSection)
\r
257 !insertmacro MUI_DESCRIPTION_TEXT ${BinSection} $(DESC_BinSection)
\r
258 !insertmacro MUI_DESCRIPTION_TEXT ${DocSection} $(DESC_DocSection)
\r
259 !insertmacro MUI_DESCRIPTION_TEXT ${ExamplesSection} $(DESC_ExamplesSection)
\r
260 !insertmacro MUI_DESCRIPTION_TEXT ${PCRESection} $(DESC_PCRESection)
\r
261 !insertmacro MUI_DESCRIPTION_TEXT ${JAVASection} $(DESC_JAVASection)
\r
262 !insertmacro MUI_FUNCTION_DESCRIPTION_END
\r
264 # create a section to define what the uninstaller does.
\r
265 # the section will always be named "Uninstall"
\r
266 section "Uninstall"
\r
268 # always delete uninstaller first
\r
269 delete $INSTDIR\uninstaller@BIN_EXE@
\r
271 # delete installed libs
\r
272 delete $INSTDIR\lib\libsimgrid.dll
\r
273 delete $INSTDIR\lib\libsimgrid.def
\r
275 # delete installed bin
\r
276 delete $INSTDIR\bin\colorize
\r
277 delete $INSTDIR\bin\graphicator@BIN_EXE@
\r
278 delete $INSTDIR\bin\simgrid_update_xml
\r
279 delete $INSTDIR\bin\smpicc
\r
280 delete $INSTDIR\bin\smpif2c
\r
281 delete $INSTDIR\bin\smpiff
\r
282 delete $INSTDIR\bin\smpirun
\r
283 delete $INSTDIR\bin\tesh
\r
285 # delete installed headers
\r
286 delete $INSTDIR\include\xbt.h
\r
287 delete $INSTDIR\include\simgrid_config.h
\r
288 delete $INSTDIR\include\xbt\misc.h
\r
289 delete $INSTDIR\include\xbt\sysdep.h
\r
290 delete $INSTDIR\include\xbt\virtu.h
\r
291 delete $INSTDIR\include\xbt\str.h
\r
292 delete $INSTDIR\include\xbt\strbuff.h
\r
293 delete $INSTDIR\include\xbt\hash.h
\r
294 delete $INSTDIR\include\xbt\function_types.h
\r
295 delete $INSTDIR\include\xbt\asserts.h
\r
296 delete $INSTDIR\include\xbt\ex.h
\r
297 delete $INSTDIR\include\xbt\log.h
\r
298 delete $INSTDIR\include\xbt\module.h
\r
299 delete $INSTDIR\include\xbt\mallocator.h
\r
300 delete $INSTDIR\include\xbt\dynar.h
\r
301 delete $INSTDIR\include\xbt\dict.h
\r
302 delete $INSTDIR\include\xbt\set.h
\r
303 delete $INSTDIR\include\xbt\heap.h
\r
304 delete $INSTDIR\include\xbt\graph.h
\r
305 delete $INSTDIR\include\xbt\fifo.h
\r
306 delete $INSTDIR\include\xbt\swag.h
\r
307 delete $INSTDIR\include\xbt\lib.h
\r
308 delete $INSTDIR\include\xbt\matrix.h
\r
309 delete $INSTDIR\include\xbt\peer.h
\r
310 delete $INSTDIR\include\xbt\config.h
\r
311 delete $INSTDIR\include\xbt\cunit.h
\r
312 delete $INSTDIR\include\xbt\graphxml_parse.h
\r
313 delete $INSTDIR\include\xbt\graphxml.h
\r
314 delete $INSTDIR\include\xbt\time.h
\r
315 delete $INSTDIR\include\xbt\synchro.h
\r
316 delete $INSTDIR\include\xbt\synchro_core.h
\r
317 delete $INSTDIR\include\xbt\queue.h
\r
318 delete $INSTDIR\include\xbt\setset.h
\r
319 delete $INSTDIR\include\xbt\mmalloc.h
\r
320 delete $INSTDIR\include\xbt\replay_trace_reader.h
\r
321 delete $INSTDIR\include\xbt\parmap.h
\r
322 delete $INSTDIR\include\xbt\socket.h
\r
323 delete $INSTDIR\include\xbt\file_stat.h
\r
325 delete $INSTDIR\include\simgrid\platf.h
\r
326 delete $INSTDIR\include\simgrid\modelchecker.h
\r
327 delete $INSTDIR\include\simgrid\simix.h
\r
329 delete $INSTDIR\include\msg\msg.h
\r
330 delete $INSTDIR\include\msg\datatypes.h
\r
331 delete $INSTDIR\include\simdag\simdag.h
\r
332 delete $INSTDIR\include\simdag\datatypes.h
\r
333 delete $INSTDIR\include\smpi\smpi.h
\r
334 delete $INSTDIR\include\smpi\mpi.h
\r
335 delete $INSTDIR\include\smpi\mpif.h
\r
336 delete $INSTDIR\include\smpi\smpi_cocci.h
\r
337 delete $INSTDIR\include\smpi\smpif.h
\r
338 delete $INSTDIR\include\surf\surfxml_parse.h
\r
339 delete $INSTDIR\include\surf\simgrid_dtd.h
\r
340 delete $INSTDIR\include\surf\surf_routing.h
\r
341 delete $INSTDIR\include\instr\instr.h
\r
343 # delete EXTRA FILES
\r
344 delete $INSTDIR\AUTHORS
\r
345 delete $INSTDIR\Changelog
\r
346 delete $INSTDIR\COPYING
\r
347 delete $INSTDIR\LICENSE-LGPL-2.1
\r
348 delete $INSTDIR\NEWS
\r
350 # now delete directories
\r
351 RMDir "$INSTDIR\bin"
\r
352 RMDir "$INSTDIR\lib"
\r
353 RMDir "$INSTDIR\include\simix"
\r
354 RMDir "$INSTDIR\include\instr"
\r
355 RMDir "$INSTDIR\include\surf"
\r
356 RMDir "$INSTDIR\include\smpi"
\r
357 RMDir "$INSTDIR\include\simdag"
\r
358 RMDir "$INSTDIR\include\msg"
\r
359 RMDir "$INSTDIR\include\mc"
\r
360 RMDir "$INSTDIR\include\xbt"
\r
361 RMDir "$INSTDIR\include"
\r
362 RMDir /r "$INSTDIR\doc"
\r
363 RMDir /r "$INSTDIR\examples"
\r
364 RMDir /r "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"
\r
367 RMDir /r "$INSTDIR\GnuWin32"
\r
370 DeleteRegValue ${env_hkcu} SIMGRID_ROOT
\r
371 DeleteRegValue ${env_hkcu} SIMGRID_VERSION
\r
372 DeleteRegValue ${env_hkcu} SIMGRID_PCRE_LIBRARY_PATH
\r
373 DeleteRegValue ${env_hkcu} SIMGRID_PCRE_LIBRARY_VERSION
\r
374 DeleteRegKey HKCU "SOFTWARE\SimGrid"
\r
376 # delete JAVA-bindings
\r
377 RMDir /r "$INSTDIR\simgrid-java"
\r
380 RMDir /r "$INSTDIR"
\r
382 # uninstall section end
\r