!include "MUI2.nsh"\r
\r
-Name "Simgrid"\r
-outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_@CMAKE_SYSTEM_PROCESSOR@@BIN_EXE@"\r
-\r
;--------------------------------\r
;Interface Configuration\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_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
- \r
+ !insertmacro MUI_UNPAGE_FINISH\r
+\r
;--------------------------------\r
;Languages\r
!insertmacro MUI_LANGUAGE "English"\r
-\r
+ !insertmacro MUI_LANGUAGE "French"\r
;--------------------------------\r
\r
-# set the default installation directory\r
-InstallDir $PROGRAMFILES\SimGrid\r
+Name "Simgrid"\r
+outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_@SIMGRID_SYSTEM_PROCESSOR@@BIN_EXE@"\r
+Icon "@CMAKE_HOME_DIRECTORY@\doc\webcruft\SimGrid.ico"\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
+# set the default installation directory\r
+InstallDir c:\SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
\r
-# default section start\r
-section\r
+Section "Libraries and Headers" LibSection\r
\r
# install lib\r
CreateDirectory $INSTDIR\lib\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\smpirun\r
file bin\tesh\r
\r
+SectionEnd\r
+Section "Documentation" DocSection \r
+ \r
# install doc\r
CreateDirectory $INSTDIR\doc\r
setOutPath $INSTDIR\doc\r
file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html\r
- file /r @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\r
+ # create a shortcut in the start menu programs directory\r
+ CreateDirectory "$SMPROGRAMS\SimGrid"\r
+ createShortCut "$SMPROGRAMS\SimGrid\Documentation.lnk" "$INSTDIR\doc\html\index.html"\r
\r
- # install examples\r
+SectionEnd\r
+Section "Examples" ExamplesSection \r
+\r
CreateDirectory $INSTDIR\examples\r
setOutPath $INSTDIR\examples\r
- file /r @CMAKE_HOME_DIRECTORY@\examples\platforms \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\FindPCRE.cmake\r
+ \r
+ # create shortcuts in the start menu programs directory\r
+ CreateDirectory "$SMPROGRAMS\SimGrid\Examples\"\r
+ createShortCut "$SMPROGRAMS\SimGrid\Examples\HelloWorld project.lnk" "$INSTDIR\examples\HelloWorld"\r
+ createShortCut "$SMPROGRAMS\SimGrid\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 "@PATH_PCRE_LICENCE@\LICENCE"\r
+\r
+ CreateDirectory $INSTDIR\GnuWin32\lib\r
+ setOutPath $INSTDIR\GnuWin32\lib\r
+ file @PATHLIBPCRE@\libpcre.a\r
+ file @PATHLIBPCRE@\libpcreposix.a\r
+ \r
+ CreateDirectory $INSTDIR\GnuWin32\include\r
+ setOutPath $INSTDIR\GnuWin32\include\r
+ file @PATH_PCRE_H@\pcre.h\r
+ file @PATH_PCRE_H@\pcreposix.h\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\html\index.html"\r
- \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_hkcu 'HKCU "Environment"'\r
# Set Variables\r
WriteRegExpandStr ${env_hklm} SIMGRID_ROOT $INSTDIR\r
- WriteRegExpandStr ${env_hklm} GRAS_ROOT $INSTDIR\r
WriteRegExpandStr ${env_hklm} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
\r
+ WriteRegExpandStr ${env_hklm} SIMGRID_PCRE_LIBRARY_PATH $INSTDIR\GnuWin32\r
+ WriteRegExpandStr ${env_hklm} SIMGRID_PCRE_LIBRARY_VERSION "8.12"\r
+\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
+\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
+\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_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 link\r
delete "$SMPROGRAMS\SimGrid\Uninstall simgrid.lnk"\r
delete "$SMPROGRAMS\SimGrid\Documentation.lnk"\r
+ delete "$SMPROGRAMS\SimGrid\Examples\HelloWorld project.lnk"\r
+ delete "$SMPROGRAMS\SimGrid\Examples\MasterSlave project.lnk"\r
\r
# now delete directories\r
RMDir "$INSTDIR\bin"\r
RMDir "$INSTDIR\include"\r
RMDir /r "$INSTDIR\doc"\r
RMDir /r "$INSTDIR\examples"\r
+ RMDir "$SMPROGRAMS\SimGrid\Examples"\r
RMDir "$SMPROGRAMS\SimGrid"\r
\r
+ # delete PCRE\r
+ RMDir /r "$INSTDIR\GnuWin32"\r
+ \r
# Delete variable\r
DeleteRegValue ${env_hklm} SIMGRID_ROOT\r
- DeleteRegValue ${env_hklm} GRAS_ROOT\r
DeleteRegValue ${env_hklm} SIMGRID_VERSION\r
-\r
+ DeleteRegValue ${env_hklm} SIMGRID_PCRE_LIBRARY_PATH\r
+ DeleteRegValue ${env_hklm} SIMGRID_PCRE_LIBRARY_VERSION\r
+ DeleteRegKey HKCU "SOFTWARE\SimGrid"\r
+ \r
# uninstall section end\r
sectionEnd
\ No newline at end of file