Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Rename libsimgrid.dll for libsimgrid_shared.dll
[simgrid.git] / buildtools / Cmake / simgrid.nsi.in
index 838b810..57a99e6 100644 (file)
@@ -1,13 +1,10 @@
 !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
   !define MUI_HEADERIMAGE\r
-  !define MUI_HEADERIMAGE_BITMAP "@CMAKE_HOME_DIRECTORY@\doc\webcruft\simgrid_logo_win.bmp" ; optional\r
+  !define MUI_HEADERIMAGE_BITMAP "@CMAKE_HOME_DIRECTORY@\doc\webcruft\simgrid_logo_win_2011.bmp" ; optional\r
   !define MUI_ABORTWARNING\r
 \r
 ;--------------------------------\r
@@ -17,26 +14,44 @@ outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION
   !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
   !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 "c:\SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@"\r
+InstallDir c:\SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
 \r
 Section "Libraries and Headers" LibSection\r
 \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 /nonfatal lib\libsimgrid_shared.dll\r
+       file /nonfatal lib\libsimgrid_shared.dll.a\r
+       file /nonfatal lib\libsimgrid_shared.ref\r
        \r
        #install headers\r
        CreateDirectory  $INSTDIR\include\r
@@ -81,10 +96,14 @@ Section "Libraries and Headers" LibSection
        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
@@ -112,7 +131,6 @@ Section "Libraries and Headers" LibSection
        \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
@@ -146,11 +164,6 @@ Section "Binaries" BinSection
        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
 SectionEnd\r
 Section "Documentation" DocSection     \r
@@ -160,21 +173,47 @@ Section "Documentation" DocSection
        setOutPath $INSTDIR\doc\r
        file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html\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
+       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
-       # install examples\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
-       # create a shortcut in the start menu programs directory\r
-       createShortCut  "$SMPROGRAMS\SimGrid\HelloWorld project.lnk"    "$INSTDIR\examples\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 @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 /nonfatal /r "@PCRE_LIBRARY_PATH@\bin"\r
+       file /nonfatal /r "@PCRE_LIBRARY_PATH@\man"\r
+       file /nonfatal /r "@PCRE_LIBRARY_PATH@\share"\r
+SectionEnd\r
 \r
 # default section start\r
 section        \r
@@ -182,8 +221,8 @@ section
        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
+       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
@@ -191,8 +230,16 @@ section
        !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'\r
        !define env_hkcu 'HKCU "Environment"'\r
        # Set Variables\r
-       WriteRegExpandStr ${env_hklm} SIMGRID_ROOT $INSTDIR\r
-       WriteRegExpandStr ${env_hklm} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
+       WriteRegExpandStr ${env_hkcu} SIMGRID_ROOT $INSTDIR\r
+       WriteRegExpandStr ${env_hkcu} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
+\r
+       WriteRegExpandStr ${env_hkcu} SIMGRID_PCRE_LIBRARY_PATH $INSTDIR\GnuWin32\r
+       WriteRegExpandStr ${env_hkcu} SIMGRID_PCRE_LIBRARY_VERSION "8.21"\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
@@ -201,17 +248,20 @@ LangString DESC_LibSection                ${LANG_ENGLISH} "Install Simgrid and gras libraries
 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
@@ -224,6 +274,9 @@ section "Uninstall"
        # delete installed libs\r
        delete $INSTDIR\lib\libgras.@LIB_EXE@\r
        delete $INSTDIR\lib\libsimgrid.@LIB_EXE@\r
+       delete $INSTDIR\lib\libsimgrid_shared.dll\r
+       delete $INSTDIR\lib\libsimgrid_shared.dll.a\r
+       delete $INSTDIR\lib\libsimgrid_shared.ref\r
 \r
        # delete installed bin\r
        delete $INSTDIR\bin\colorize\r
@@ -302,10 +355,12 @@ section "Uninstall"
        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 "$SMPROGRAMS\SimGrid\HelloWorld project.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
@@ -323,11 +378,20 @@ section "Uninstall"
        RMDir  "$INSTDIR\include"\r
        RMDir  /r "$INSTDIR\doc"\r
        RMDir  /r "$INSTDIR\examples"\r
-       RMDir  "$SMPROGRAMS\SimGrid"\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_hklm} SIMGRID_ROOT\r
-       DeleteRegValue ${env_hklm} SIMGRID_VERSION\r
-\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 INSTDIR\r
+    RMDir  /r "$INSTDIR"\r
+    \r
 # uninstall section end\r
 sectionEnd
\ No newline at end of file