-# define installer name\r
-outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_win@WIN_ARCH@@BIN_EXE@"\r
+!include "MUI2.nsh"\r
+\r
+;--------------------------------\r
+;Interface Configuration\r
+\r
+ !define MUI_HEADERIMAGE\r
+ !define MUI_HEADERIMAGE_BITMAP "@CMAKE_HOME_DIRECTORY@\doc\webcruft\simgrid_logo_win_2011.bmp" ; optional\r
+ !define MUI_ABORTWARNING\r
+\r
+;--------------------------------\r
+;Pages\r
+\r
+ !insertmacro MUI_PAGE_LICENSE "@CMAKE_HOME_DIRECTORY@\LICENSE-LGPL-2.1"\r
+ !insertmacro MUI_PAGE_COMPONENTS\r
+ !insertmacro MUI_PAGE_DIRECTORY\r
+ !insertmacro MUI_PAGE_INSTFILES\r
+ !insertmacro MUI_PAGE_FINISH\r
+ \r
+ !insertmacro MUI_UNPAGE_CONFIRM\r
+ !insertmacro MUI_UNPAGE_INSTFILES\r
+ !insertmacro MUI_UNPAGE_FINISH\r
+\r
+;--------------------------------\r
+;Languages\r
+ !insertmacro MUI_LANGUAGE "English"\r
+ !insertmacro MUI_LANGUAGE "French"\r
+;--------------------------------\r
+\r
+Name "Simgrid"\r
+outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_@NSIS_WIN_VERSION@@BIN_EXE@"\r
+Icon "@CMAKE_HOME_DIRECTORY@\doc\webcruft\SimGrid.ico"\r
+\r
+RequestExecutionLevel admin\r
\r
# set the default installation directory\r
-InstallDir $PROGRAMFILES\SimGrid\r
+InstallDir c:\SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
\r
-# The text to prompt the user to enter a directory\r
-DirText "This will install Simgrid on your computer. Choose a directory"\r
+Section "Libraries and Headers" LibSection\r
\r
-# default section start\r
-section\r
+ setOutPath $INSTDIR\r
+ file @CMAKE_HOME_DIRECTORY@\AUTHORS\r
+ file @CMAKE_HOME_DIRECTORY@\Changelog\r
+ file @CMAKE_HOME_DIRECTORY@\COPYING\r
+ file @CMAKE_HOME_DIRECTORY@\LICENSE-LGPL-2.1\r
+ file @CMAKE_HOME_DIRECTORY@\NEWS\r
\r
# install lib\r
CreateDirectory $INSTDIR\lib\r
setOutPath $INSTDIR\lib\r
- file lib\libgras.@LIB_EXE@\r
- file lib\libsimgrid.@LIB_EXE@\r
+ file lib\libgras.dll\r
+ file lib\libsimgrid.dll\r
+ file lib\libsimgrid.def\r
\r
#install headers\r
CreateDirectory $INSTDIR\include\r
file @CMAKE_HOME_DIRECTORY@\include\xbt\mmalloc.h\r
file @CMAKE_HOME_DIRECTORY@\include\xbt\replay_trace_reader.h\r
file @CMAKE_HOME_DIRECTORY@\include\xbt\parmap.h\r
- \r
- CreateDirectory $INSTDIR\include\mc\r
- setOutPath $INSTDIR\include\mc\r
- file @CMAKE_HOME_DIRECTORY@\include\mc\modelchecker.h\r
+ file @CMAKE_HOME_DIRECTORY@\include\xbt\automaton.h\r
+ file @CMAKE_HOME_DIRECTORY@\include\xbt\automatonparse_promela.h\r
+ file @CMAKE_HOME_DIRECTORY@\include\xbt\datadesc.h\r
+\r
+ CreateDirectory $INSTDIR\include\simgrid\r
+ setOutPath $INSTDIR\include\simgrid\r
+ file @CMAKE_HOME_DIRECTORY@\include\simgrid\platf.h\r
+ file @CMAKE_HOME_DIRECTORY@\include\simgrid\modelchecker.h\r
\r
CreateDirectory $INSTDIR\include\msg\r
setOutPath $INSTDIR\include\msg\r
\r
CreateDirectory $INSTDIR\include\gras\r
setOutPath $INSTDIR\include\gras\r
- file @CMAKE_HOME_DIRECTORY@\include\gras\datadesc.h\r
file @CMAKE_HOME_DIRECTORY@\include\gras\transport.h\r
file @CMAKE_HOME_DIRECTORY@\include\gras\virtu.h\r
file @CMAKE_HOME_DIRECTORY@\include\gras\emul.h\r
file @CMAKE_HOME_DIRECTORY@\include\simix\datatypes.h\r
file @CMAKE_HOME_DIRECTORY@\include\simix\context.h\r
\r
+SectionEnd\r
+Section "Binaries" BinSection \r
+ \r
# insatll bin\r
CreateDirectory $INSTDIR\bin\r
setOutPath $INSTDIR\bin\r
file bin\colorize\r
file bin\graphicator@BIN_EXE@\r
- file bin\gras_stub_generator@BIN_EXE@\r
file bin\simgrid_update_xml\r
- file bin\smpicc\r
- file bin\smpif2c\r
- file bin\smpiff\r
- file bin\smpirun\r
- file bin\tesh\r
\r
- #install doc\r
+SectionEnd\r
+Section "Documentation" DocSection \r
+ \r
+ # install doc\r
CreateDirectory $INSTDIR\doc\r
setOutPath $INSTDIR\doc\r
- file /r @CMAKE_HOME_DIRECTORY@\doc\html\r
+ file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html\r
+ # create a shortcut in the start menu programs directory\r
+ CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"\r
+ createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Documentation.lnk" "$INSTDIR\doc\html\index.html"\r
+ createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Website.lnk" "http://simgrid.gforge.inria.fr/"\r
+ \r
+SectionEnd\r
+Section "Examples" ExamplesSection \r
\r
+ CreateDirectory $INSTDIR\examples\r
+ setOutPath $INSTDIR\examples\r
+ \r
+ #install examples for platforms\r
+ file /r @CMAKE_HOME_DIRECTORY@\examples\platforms\r
+ \r
+ # install example HelloWorld\r
+ file /r @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\r
+ \r
+ # install example MasterSlave\r
+ CreateDirectory $INSTDIR\examples\MasterSlave\r
+ setOutPath $INSTDIR\examples\MasterSlave\r
+ file @CMAKE_HOME_DIRECTORY@\examples\msg\masterslave\masterslave_forwarder.c\r
+ file @CMAKE_HOME_DIRECTORY@\examples\msg\masterslave\deployment_masterslave_forwarder.xml\r
+ file @CMAKE_HOME_DIRECTORY@\examples\msg\msg_platform.xml\r
+ file @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\CMakeLists.txt\r
+ file @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\FindPcreWin.cmake\r
+ \r
+ # create shortcuts in the start menu programs directory\r
+ CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\"\r
+ createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\HelloWorld project.lnk" "$INSTDIR\examples\HelloWorld"\r
+ createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\MasterSlave project.lnk" "$INSTDIR\examples\MasterSlave"\r
+ \r
+SectionEnd\r
+Section "Pcre library" PCRESection \r
+ # install pcre library\r
+ CreateDirectory $INSTDIR\GnuWin32\r
+ setOutPath $INSTDIR\GnuWin32\r
+ file /r "@PCRE_LIBRARY_PATH@\lib"\r
+ file /r "@PCRE_LIBRARY_PATH@\include"\r
+ file /r "@PCRE_LIBRARY_PATH@\bin"\r
+ file /r "@PCRE_LIBRARY_PATH@\man"\r
+ file /r "@PCRE_LIBRARY_PATH@\share"\r
+SectionEnd\r
+\r
+Section "Java Bindings" JavaSection \r
+ # install java library and examples\r
+ CreateDirectory $INSTDIR\examples\simgrid-java\r
+ setOutPath $INSTDIR\lib\r
+ file "$%SIMGRID_JAVA_SRC%\build\SG_java.dll"\r
+ file "$%SIMGRID_JAVA_SRC%\build\SG_java.def"\r
+ file "$%SIMGRID_JAVA_SRC%\simgrid.jar"\r
+ setOutPath $INSTDIR\examples\simgrid-java\r
+ file /r "$%SIMGRID_JAVA_SRC%\examples\"\r
+ # create shortcuts in the start menu programs directory\r
+ createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Examples\Java project.lnk" "$INSTDIR\examples\simgrid-java"\r
+SectionEnd\r
+\r
+# default section start\r
+section \r
# define uninstaller name\r
writeUninstaller $INSTDIR\uninstaller@BIN_EXE@\r
\r
# create a shortcut in the start menu programs directory\r
- CreateDirectory "$SMPROGRAMS\SimGrid"\r
- createShortCut "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk" "$INSTDIR\uninstaller@BIN_EXE@"\r
- createShortCut "$SMPROGRAMS\SimGrid\Documentation.lnk" "$INSTDIR\doc\index.html"\r
+ CreateDirectory "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"\r
+ createShortCut "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\Uninstall simgrid.lnk" "$INSTDIR\uninstaller@BIN_EXE@"\r
+\r
+ # Include for some of the windows message defines\r
+ !include "winmessages.nsh"\r
+ # HKLM (all users) vs HKCU (current user) defines\r
+ !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'\r
+ !define env_hkcu 'HKCU "Environment"'\r
+ # Set Variables\r
+ WriteRegExpandStr ${env_hkcu} SIMGRID_ROOT $INSTDIR\r
+ WriteRegExpandStr ${env_hkcu} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
+ WriteRegExpandStr ${env_hkcu} SIMGRID_PCRE_LIBRARY_PATH $INSTDIR\GnuWin32\r
+ WriteRegExpandStr ${env_hkcu} SIMGRID_PCRE_LIBRARY_VERSION "8.21"\r
\r
- MessageBox MB_OK "Installation was successful."\r
+ WriteRegStr HKCU "SOFTWARE\SimGrid" "Version" "@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"\r
+ WriteRegStr HKCU "SOFTWARE\SimGrid" "InstallPath" "$INSTDIR"\r
+ \r
+ SetRebootFlag true\r
\r
# default section end\r
sectionEnd\r
\r
+LangString DESC_LibSection ${LANG_ENGLISH} "Install Simgrid and gras libraries with associated headers."\r
+LangString DESC_BinSection ${LANG_ENGLISH} "Install some useful tools for Simgrid."\r
+LangString DESC_DocSection ${LANG_ENGLISH} "Generated (doxygen) documentation."\r
+LangString DESC_ExamplesSection ${LANG_ENGLISH} "Simgrid's HelloWorld example and some classical platforms."\r
+LangString DESC_PCRESection ${LANG_ENGLISH} "Install the PCRE and PCREPOSIX libraries for SimGrid."\r
+LangString DESC_JAVASection ${LANG_ENGLISH} "Install the Java binding and examples."\r
+\r
+LangString DESC_LibSection ${LANG_FRENCH} "Installer les librairies Simgrid et Gras et leurs EntĂȘtes."\r
+LangString DESC_BinSection ${LANG_FRENCH} "Installer les outils optionnels."\r
+LangString DESC_DocSection ${LANG_FRENCH} "Installer la documentation."\r
+LangString DESC_ExamplesSection ${LANG_FRENCH} "Installer un exemple 'HelloWorld' et des fichiers de plate-formes types."\r
+LangString DESC_PCRESection ${LANG_FRENCH} "Installer les librairies PCRE et PCREPOSIX for SimGrid."\r
+LangString DESC_JAVASection ${LANG_FRENCH} "Installer la librairie Simgrid-java and les examples."\r
+\r
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${LibSection} $(DESC_LibSection)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${BinSection} $(DESC_BinSection)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${DocSection} $(DESC_DocSection)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${ExamplesSection} $(DESC_ExamplesSection)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${PCRESection} $(DESC_PCRESection)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${JAVASection} $(DESC_JAVASection)\r
+!insertmacro MUI_FUNCTION_DESCRIPTION_END\r
+\r
# create a section to define what the uninstaller does.\r
# the section will always be named "Uninstall"\r
section "Uninstall"\r
delete $INSTDIR\uninstaller@BIN_EXE@\r
\r
# delete installed libs\r
- delete $INSTDIR\lib\libgras.@LIB_EXE@\r
- delete $INSTDIR\lib\libsimgrid.@LIB_EXE@\r
+ delete $INSTDIR\lib\libgras.dll\r
+ delete $INSTDIR\lib\libsimgrid.dll\r
+ delete $INSTDIR\lib\libsimgrid.def\r
\r
# delete installed bin\r
delete $INSTDIR\bin\colorize\r
delete $INSTDIR\bin\graphicator@BIN_EXE@\r
- delete $INSTDIR\bin\gras_stub_generator@BIN_EXE@\r
delete $INSTDIR\bin\simgrid_update_xml\r
delete $INSTDIR\bin\smpicc\r
delete $INSTDIR\bin\smpif2c\r
delete $INSTDIR\include\simix\datatypes.h\r
delete $INSTDIR\include\simix\context.h\r
\r
- # delete link\r
- delete "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk"\r
- delete "$SMPROGRAMS\SimGrid\Documentation.lnk"\r
+ # delete EXTRA FILES\r
+ delete $INSTDIR\AUTHORS\r
+ delete $INSTDIR\Changelog\r
+ delete $INSTDIR\COPYING\r
+ delete $INSTDIR\LICENSE-LGPL-2.1\r
+ delete $INSTDIR\NEWS\r
\r
# now delete directories\r
RMDir "$INSTDIR\bin"\r
RMDir "$INSTDIR\include\mc"\r
RMDir "$INSTDIR\include\xbt"\r
RMDir "$INSTDIR\include"\r
- RMDir "$INSTDIR\doc"\r
- RMDir "$SMPROGRAMS\SimGrid"\r
- RMDir "$PROGRAMFILES\SimGrid"\r
-\r
+ RMDir /r "$INSTDIR\doc"\r
+ RMDir /r "$INSTDIR\examples"\r
+ RMDir /r "$SMPROGRAMS\SimGrid @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"\r
+ \r
+ # delete PCRE\r
+ RMDir /r "$INSTDIR\GnuWin32"\r
+ \r
+ # Delete variable\r
+ DeleteRegValue ${env_hkcu} SIMGRID_ROOT\r
+ DeleteRegValue ${env_hkcu} SIMGRID_VERSION\r
+ DeleteRegValue ${env_hkcu} SIMGRID_PCRE_LIBRARY_PATH\r
+ DeleteRegValue ${env_hkcu} SIMGRID_PCRE_LIBRARY_VERSION\r
+ DeleteRegKey HKCU "SOFTWARE\SimGrid"\r
+ \r
+ # delete JAVA-bindings\r
+ RMDir /r "$INSTDIR\simgrid-java"\r
+ \r
+ # delete INSTDIR\r
+ RMDir /r "$INSTDIR"\r
+ \r
# uninstall section end\r
sectionEnd
\ No newline at end of file