Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
d49ff2bded122099eba4f158df96f35b147f3912
[simgrid.git] / buildtools / Cmake / simgrid.nsi.in
1 Name "Simgrid"\r
2 XPstyle on\r
3 \r
4 # define installer name\r
5 outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_@CMAKE_SYSTEM_PROCESSOR@@BIN_EXE@"\r
6 \r
7 # set the default installation directory\r
8 InstallDir $PROGRAMFILES\SimGrid\r
9 \r
10 # The text to prompt the user to enter a directory\r
11 DirText "This will install Simgrid on your computer. Choose a directory"\r
12 \r
13 # default section start\r
14 section\r
15 \r
16         # install lib\r
17         CreateDirectory $INSTDIR\lib\r
18         setOutPath $INSTDIR\lib\r
19         file lib\libgras.@LIB_EXE@\r
20         file lib\libsimgrid.@LIB_EXE@\r
21         \r
22         #install headers\r
23         CreateDirectory  $INSTDIR\include\r
24         setOutPath $INSTDIR\include\r
25         file @CMAKE_HOME_DIRECTORY@\include\gras.h \r
26         file @CMAKE_HOME_DIRECTORY@\include\xbt.h\r
27         file include\simgrid_config.h\r
28         \r
29         CreateDirectory  $INSTDIR\include\xbt\r
30         setOutPath $INSTDIR\include\xbt\r
31         file @CMAKE_HOME_DIRECTORY@\include\xbt\misc.h\r
32         file @CMAKE_HOME_DIRECTORY@\include\xbt\sysdep.h\r
33         file @CMAKE_HOME_DIRECTORY@\include\xbt\virtu.h\r
34         file @CMAKE_HOME_DIRECTORY@\include\xbt\str.h\r
35         file @CMAKE_HOME_DIRECTORY@\include\xbt\strbuff.h\r
36         file @CMAKE_HOME_DIRECTORY@\include\xbt\hash.h\r
37         file @CMAKE_HOME_DIRECTORY@\include\xbt\function_types.h\r
38         file @CMAKE_HOME_DIRECTORY@\include\xbt\asserts.h \r
39         file @CMAKE_HOME_DIRECTORY@\include\xbt\ex.h\r
40         file @CMAKE_HOME_DIRECTORY@\include\xbt\log.h\r
41         file @CMAKE_HOME_DIRECTORY@\include\xbt\module.h\r
42         file @CMAKE_HOME_DIRECTORY@\include\xbt\mallocator.h\r
43         file @CMAKE_HOME_DIRECTORY@\include\xbt\dynar.h\r
44         file @CMAKE_HOME_DIRECTORY@\include\xbt\dict.h\r
45         file @CMAKE_HOME_DIRECTORY@\include\xbt\set.h\r
46         file @CMAKE_HOME_DIRECTORY@\include\xbt\heap.h\r
47         file @CMAKE_HOME_DIRECTORY@\include\xbt\graph.h\r
48         file @CMAKE_HOME_DIRECTORY@\include\xbt\fifo.h\r
49         file @CMAKE_HOME_DIRECTORY@\include\xbt\swag.h\r
50         file @CMAKE_HOME_DIRECTORY@\include\xbt\lib.h\r
51         file @CMAKE_HOME_DIRECTORY@\include\xbt\matrix.h\r
52         file @CMAKE_HOME_DIRECTORY@\include\xbt\peer.h\r
53         file @CMAKE_HOME_DIRECTORY@\include\xbt\config.h\r
54         file @CMAKE_HOME_DIRECTORY@\include\xbt\cunit.h\r
55         file @CMAKE_HOME_DIRECTORY@\include\xbt\graphxml_parse.h\r
56         file @CMAKE_HOME_DIRECTORY@\include\xbt\graphxml.h\r
57         file @CMAKE_HOME_DIRECTORY@\include\xbt\time.h\r
58         file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro.h\r
59         file @CMAKE_HOME_DIRECTORY@\include\xbt\synchro_core.h\r
60         file @CMAKE_HOME_DIRECTORY@\include\xbt\queue.h\r
61         file @CMAKE_HOME_DIRECTORY@\include\xbt\setset.h\r
62         file @CMAKE_HOME_DIRECTORY@\include\xbt\mmalloc.h\r
63         file @CMAKE_HOME_DIRECTORY@\include\xbt\replay_trace_reader.h\r
64         file @CMAKE_HOME_DIRECTORY@\include\xbt\parmap.h\r
65         \r
66         CreateDirectory  $INSTDIR\include\mc\r
67         setOutPath $INSTDIR\include\mc\r
68         file @CMAKE_HOME_DIRECTORY@\include\mc\modelchecker.h\r
69         \r
70         CreateDirectory  $INSTDIR\include\msg\r
71         setOutPath $INSTDIR\include\msg\r
72         file @CMAKE_HOME_DIRECTORY@\include\msg\msg.h\r
73         file @CMAKE_HOME_DIRECTORY@\include\msg\datatypes.h\r
74         \r
75         CreateDirectory  $INSTDIR\include\simdag\r
76         setOutPath $INSTDIR\include\simdag\r
77         file @CMAKE_HOME_DIRECTORY@\include\simdag\simdag.h\r
78         file @CMAKE_HOME_DIRECTORY@\include\simdag\datatypes.h\r
79         \r
80         CreateDirectory  $INSTDIR\include\smpi\r
81         setOutPath $INSTDIR\include\smpi\r
82         file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi.h\r
83         file @CMAKE_HOME_DIRECTORY@\include\smpi\mpi.h\r
84         file @CMAKE_HOME_DIRECTORY@\include\smpi\mpif.h\r
85         file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi_cocci.h\r
86         file include\smpi\smpif.h\r
87         \r
88         CreateDirectory  $INSTDIR\include\surf\r
89         setOutPath $INSTDIR\include\surf\r
90         file @CMAKE_HOME_DIRECTORY@\include\surf\surfxml_parse.h\r
91         file @CMAKE_HOME_DIRECTORY@\include\surf\simgrid_dtd.h\r
92         file @CMAKE_HOME_DIRECTORY@\include\surf\surf_routing.h\r
93         \r
94         CreateDirectory  $INSTDIR\include\gras\r
95         setOutPath $INSTDIR\include\gras\r
96         file @CMAKE_HOME_DIRECTORY@\include\gras\datadesc.h\r
97         file @CMAKE_HOME_DIRECTORY@\include\gras\transport.h\r
98         file @CMAKE_HOME_DIRECTORY@\include\gras\virtu.h\r
99         file @CMAKE_HOME_DIRECTORY@\include\gras\emul.h\r
100         file @CMAKE_HOME_DIRECTORY@\include\gras\process.h\r
101         file @CMAKE_HOME_DIRECTORY@\include\gras\module.h\r
102         file @CMAKE_HOME_DIRECTORY@\include\gras\messages.h\r
103         file @CMAKE_HOME_DIRECTORY@\include\gras\timer.h\r
104         \r
105         CreateDirectory  $INSTDIR\include\amok\r
106         setOutPath $INSTDIR\include\amok\r
107         file @CMAKE_HOME_DIRECTORY@\include\amok\peermanagement.h\r
108         file @CMAKE_HOME_DIRECTORY@\include\amok\bandwidth.h\r
109         \r
110         CreateDirectory  $INSTDIR\include\instr\r
111         setOutPath $INSTDIR\include\instr\r
112         file @CMAKE_HOME_DIRECTORY@\include\instr\instr.h\r
113         \r
114         CreateDirectory  $INSTDIR\include\simix\r
115         setOutPath $INSTDIR\include\simix\r
116         file @CMAKE_HOME_DIRECTORY@\include\simix\simix.h\r
117         file @CMAKE_HOME_DIRECTORY@\include\simix\datatypes.h\r
118         file @CMAKE_HOME_DIRECTORY@\include\simix\context.h\r
119         \r
120         # insatll bin\r
121         CreateDirectory $INSTDIR\bin\r
122         setOutPath $INSTDIR\bin\r
123         file bin\colorize\r
124         file bin\graphicator@BIN_EXE@\r
125         file bin\gras_stub_generator@BIN_EXE@\r
126         file bin\simgrid_update_xml\r
127         file bin\smpicc\r
128         file bin\smpif2c\r
129         file bin\smpiff\r
130         file bin\smpirun\r
131         file bin\tesh\r
132         \r
133         # install doc\r
134         CreateDirectory $INSTDIR\doc\r
135         setOutPath $INSTDIR\doc\r
136         file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html\r
137         file /r @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\r
138         \r
139         # install examples\r
140         CreateDirectory $INSTDIR\examples\r
141         setOutPath $INSTDIR\examples\r
142         file /r @CMAKE_HOME_DIRECTORY@\examples\platforms       \r
143         \r
144         # define uninstaller name\r
145         writeUninstaller $INSTDIR\uninstaller@BIN_EXE@\r
146 \r
147         # create a shortcut in the start menu programs directory\r
148         CreateDirectory "$SMPROGRAMS\SimGrid"\r
149         createShortCut  "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk" "$INSTDIR\uninstaller@BIN_EXE@"\r
150         createShortCut  "$SMPROGRAMS\SimGrid\Documentation.lnk" "$INSTDIR\doc\index.html"\r
151         \r
152         # Include for some of the windows message defines\r
153         !include "winmessages.nsh"\r
154         # HKLM (all users) vs HKCU (current user) defines\r
155         !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'\r
156         !define env_hkcu 'HKCU "Environment"'\r
157         # Set Variables\r
158         WriteRegExpandStr ${env_hklm} SIMGRID_ROOT $INSTDIR\r
159         WriteRegExpandStr ${env_hklm} GRAS_ROOT $INSTDIR\r
160         WriteRegExpandStr ${env_hklm} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
161 \r
162         MessageBox MB_OK "Installation was successful."\r
163 \r
164 # default section end\r
165 sectionEnd\r
166 \r
167 # create a section to define what the uninstaller does.\r
168 # the section will always be named "Uninstall"\r
169 section "Uninstall"\r
170 \r
171         # always delete uninstaller first\r
172         delete $INSTDIR\uninstaller@BIN_EXE@\r
173 \r
174         # delete installed libs\r
175         delete $INSTDIR\lib\libgras.@LIB_EXE@\r
176         delete $INSTDIR\lib\libsimgrid.@LIB_EXE@\r
177 \r
178         # delete installed bin\r
179         delete $INSTDIR\bin\colorize\r
180         delete $INSTDIR\bin\graphicator@BIN_EXE@\r
181         delete $INSTDIR\bin\gras_stub_generator@BIN_EXE@\r
182         delete $INSTDIR\bin\simgrid_update_xml\r
183         delete $INSTDIR\bin\smpicc\r
184         delete $INSTDIR\bin\smpif2c\r
185         delete $INSTDIR\bin\smpiff\r
186         delete $INSTDIR\bin\smpirun\r
187         delete $INSTDIR\bin\tesh\r
188         \r
189         # delete installed headers\r
190         delete $INSTDIR\include\gras.h \r
191         delete $INSTDIR\include\xbt.h\r
192         delete $INSTDIR\include\simgrid_config.h\r
193         delete $INSTDIR\include\xbt\misc.h\r
194         delete $INSTDIR\include\xbt\sysdep.h\r
195         delete $INSTDIR\include\xbt\virtu.h\r
196         delete $INSTDIR\include\xbt\str.h\r
197         delete $INSTDIR\include\xbt\strbuff.h\r
198         delete $INSTDIR\include\xbt\hash.h\r
199         delete $INSTDIR\include\xbt\function_types.h\r
200         delete $INSTDIR\include\xbt\asserts.h \r
201         delete $INSTDIR\include\xbt\ex.h\r
202         delete $INSTDIR\include\xbt\log.h\r
203         delete $INSTDIR\include\xbt\module.h\r
204         delete $INSTDIR\include\xbt\mallocator.h\r
205         delete $INSTDIR\include\xbt\dynar.h\r
206         delete $INSTDIR\include\xbt\dict.h\r
207         delete $INSTDIR\include\xbt\set.h\r
208         delete $INSTDIR\include\xbt\heap.h\r
209         delete $INSTDIR\include\xbt\graph.h\r
210         delete $INSTDIR\include\xbt\fifo.h\r
211         delete $INSTDIR\include\xbt\swag.h\r
212         delete $INSTDIR\include\xbt\lib.h\r
213         delete $INSTDIR\include\xbt\matrix.h\r
214         delete $INSTDIR\include\xbt\peer.h\r
215         delete $INSTDIR\include\xbt\config.h\r
216         delete $INSTDIR\include\xbt\cunit.h\r
217         delete $INSTDIR\include\xbt\graphxml_parse.h\r
218         delete $INSTDIR\include\xbt\graphxml.h\r
219         delete $INSTDIR\include\xbt\time.h\r
220         delete $INSTDIR\include\xbt\synchro.h\r
221         delete $INSTDIR\include\xbt\synchro_core.h\r
222         delete $INSTDIR\include\xbt\queue.h\r
223         delete $INSTDIR\include\xbt\setset.h\r
224         delete $INSTDIR\include\xbt\mmalloc.h\r
225         delete $INSTDIR\include\xbt\replay_trace_reader.h\r
226         delete $INSTDIR\include\xbt\parmap.h\r
227         delete $INSTDIR\include\mc\modelchecker.h\r
228         delete $INSTDIR\include\msg\msg.h\r
229         delete $INSTDIR\include\msg\datatypes.h \r
230         delete $INSTDIR\include\simdag\simdag.h\r
231         delete $INSTDIR\include\simdag\datatypes.h\r
232         delete $INSTDIR\include\smpi\smpi.h\r
233         delete $INSTDIR\include\smpi\mpi.h\r
234         delete $INSTDIR\include\smpi\mpif.h\r
235         delete $INSTDIR\include\smpi\smpi_cocci.h\r
236         delete $INSTDIR\include\smpi\smpif.h\r
237         delete $INSTDIR\include\surf\surfxml_parse.h\r
238         delete $INSTDIR\include\surf\simgrid_dtd.h\r
239         delete $INSTDIR\include\surf\surf_routing.h\r
240         delete $INSTDIR\include\gras\datadesc.h\r
241         delete $INSTDIR\include\gras\transport.h\r
242         delete $INSTDIR\include\gras\virtu.h\r
243         delete $INSTDIR\include\gras\emul.h\r
244         delete $INSTDIR\include\gras\process.h\r
245         delete $INSTDIR\include\gras\module.h\r
246         delete $INSTDIR\include\gras\messages.h\r
247         delete $INSTDIR\include\gras\timer.h\r
248         delete $INSTDIR\include\amok\peermanagement.h\r
249         delete $INSTDIR\include\amok\bandwidth.h\r
250         delete $INSTDIR\include\instr\instr.h\r
251         delete $INSTDIR\include\simix\simix.h\r
252         delete $INSTDIR\include\simix\datatypes.h\r
253         delete $INSTDIR\include\simix\context.h\r
254                 \r
255         # delete link\r
256         delete "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk"\r
257         delete "$SMPROGRAMS\SimGrid\Documentation.lnk"\r
258         \r
259         # now delete directories\r
260         RMDir  "$INSTDIR\bin"\r
261         RMDir  "$INSTDIR\lib"\r
262         RMDir  "$INSTDIR\include\simix"\r
263         RMDir  "$INSTDIR\include\instr"\r
264         RMDir  "$INSTDIR\include\amok"\r
265         RMDir  "$INSTDIR\include\gras"\r
266         RMDir  "$INSTDIR\include\surf"\r
267         RMDir  "$INSTDIR\include\smpi"\r
268         RMDir  "$INSTDIR\include\simdag"\r
269         RMDir  "$INSTDIR\include\msg"\r
270         RMDir  "$INSTDIR\include\mc"\r
271         RMDir  "$INSTDIR\include\xbt"\r
272         RMDir  "$INSTDIR\include"\r
273         RMDir  /r "$INSTDIR\doc"\r
274         RMDir  /r "$INSTDIR\examples"\r
275         RMDir  "$SMPROGRAMS\SimGrid"\r
276         \r
277         # Delete variable\r
278         DeleteRegValue ${env_hklm} SIMGRID_ROOT\r
279         DeleteRegValue ${env_hklm} GRAS_ROOT\r
280         DeleteRegValue ${env_hklm} SIMGRID_VERSION\r
281 \r
282 # uninstall section end\r
283 sectionEnd