Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
trivial merge of changes about gras architecture
[simgrid.git] / buildtools / Cmake / simgrid.nsi.in
1 !include "MUI2.nsh"\r
2 \r
3 ;--------------------------------\r
4 ;Interface Configuration\r
5 \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
9 \r
10 ;--------------------------------\r
11 ;Pages\r
12 \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
18   \r
19   !insertmacro MUI_UNPAGE_CONFIRM\r
20   !insertmacro MUI_UNPAGE_INSTFILES\r
21   !insertmacro MUI_UNPAGE_FINISH\r
22 \r
23 ;--------------------------------\r
24 ;Languages\r
25   !insertmacro MUI_LANGUAGE "English"\r
26   !insertmacro MUI_LANGUAGE "French"\r
27 ;--------------------------------\r
28 \r
29 Name "Simgrid"\r
30 outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_@CMAKE_SYSTEM_PROCESSOR@@BIN_EXE@"\r
31 Icon "@CMAKE_HOME_DIRECTORY@\doc\webcruft\SimGrid.ico"\r
32 \r
33 # set the default installation directory\r
34 InstallDir c:\SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
35 \r
36 Section "Libraries and Headers" LibSection\r
37 \r
38         # install lib\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
43         \r
44         #install headers\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
50         \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
87         \r
88         CreateDirectory  $INSTDIR\include\mc\r
89         setOutPath $INSTDIR\include\mc\r
90         file @CMAKE_HOME_DIRECTORY@\include\mc\modelchecker.h\r
91         \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
96         \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
101         \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
109         \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
115         \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
126         \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
131         \r
132         CreateDirectory  $INSTDIR\include\instr\r
133         setOutPath $INSTDIR\include\instr\r
134         file @CMAKE_HOME_DIRECTORY@\include\instr\instr.h\r
135         \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
141         \r
142 SectionEnd\r
143 Section "Binaries" BinSection   \r
144         \r
145         # insatll bin\r
146         CreateDirectory $INSTDIR\bin\r
147         setOutPath $INSTDIR\bin\r
148         file bin\colorize\r
149         file bin\graphicator@BIN_EXE@\r
150         file bin\gras_stub_generator@BIN_EXE@\r
151         file bin\simgrid_update_xml\r
152         file bin\smpicc\r
153         file bin\smpif2c\r
154         file bin\smpiff\r
155         file bin\smpirun\r
156         file bin\tesh\r
157         \r
158 SectionEnd\r
159 Section "Documentation" DocSection      \r
160         \r
161         # install doc\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
168         \r
169 SectionEnd\r
170 Section "Examples" ExamplesSection      \r
171         \r
172         # install examples\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
179         \r
180 SectionEnd\r
181 \r
182 # default section start\r
183 section \r
184         # define uninstaller name\r
185         writeUninstaller $INSTDIR\uninstaller@BIN_EXE@\r
186 \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
190 \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
196         # Set Variables\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
199 \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
202         \r
203         SetRebootFlag true\r
204 \r
205 # default section end\r
206 sectionEnd\r
207 \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
212 \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
217 \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
224 \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
228 \r
229         # always delete uninstaller first\r
230         delete $INSTDIR\uninstaller@BIN_EXE@\r
231 \r
232         # delete installed libs\r
233         delete $INSTDIR\lib\libgras.@LIB_EXE@\r
234         delete $INSTDIR\lib\libsimgrid.@LIB_EXE@\r
235 \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
246         \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
312                 \r
313         # delete link\r
314         delete "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk"\r
315         delete "$SMPROGRAMS\SimGrid\Documentation.lnk"\r
316         delete "$SMPROGRAMS\SimGrid\HelloWorld project.lnk"\r
317         \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
335         \r
336         # Delete variable\r
337         DeleteRegValue ${env_hklm} SIMGRID_ROOT\r
338         DeleteRegValue ${env_hklm} SIMGRID_VERSION\r
339       DeleteRegKey HKCU "SOFTWARE\SimGrid"\r
340     \r
341 # uninstall section end\r
342 sectionEnd