installer.nsi.in 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. !include x64.nsh
  2. Name "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@"
  3. OutFile "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}@INST_NAME@.exe"
  4. InstallDir "@INST_DIR@"
  5. SetCompressor bzip2
  6. Page directory
  7. Page instfiles
  8. UninstPage uninstConfirm
  9. UninstPage instfiles
  10. Section "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ (required)"
  11. !ifdef WIN64
  12. ${If} ${RunningX64}
  13. ${DisableX64FSRedirection}
  14. ${Endif}
  15. !endif
  16. SectionIn RO
  17. !ifdef GCC
  18. IfFileExists $SYSDIR/libturbojpeg.dll exists 0
  19. !else
  20. IfFileExists $SYSDIR/turbojpeg.dll exists 0
  21. !endif
  22. goto notexists
  23. exists:
  24. !ifdef GCC
  25. MessageBox MB_OK "An existing version of the @CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ is already installed. Please uninstall it first."
  26. !else
  27. MessageBox MB_OK "An existing version of the @CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ or the TurboJPEG SDK is already installed. Please uninstall it first."
  28. !endif
  29. quit
  30. notexists:
  31. SetOutPath $SYSDIR
  32. !ifdef GCC
  33. File "@CMAKE_CURRENT_BINARY_DIR@\libturbojpeg.dll"
  34. !else
  35. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}turbojpeg.dll"
  36. !endif
  37. SetOutPath $INSTDIR\bin
  38. !ifdef GCC
  39. File "@CMAKE_CURRENT_BINARY_DIR@\libturbojpeg.dll"
  40. !else
  41. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}turbojpeg.dll"
  42. !endif
  43. !ifdef GCC
  44. File "@CMAKE_CURRENT_BINARY_DIR@\libjpeg-@SO_MAJOR_VERSION@.dll"
  45. !else
  46. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}jpeg@SO_MAJOR_VERSION@.dll"
  47. !endif
  48. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}cjpeg.exe"
  49. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}djpeg.exe"
  50. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}jpegtran.exe"
  51. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}tjbench.exe"
  52. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}rdjpgcom.exe"
  53. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}wrjpgcom.exe"
  54. SetOutPath $INSTDIR\lib
  55. !ifdef GCC
  56. File "@CMAKE_CURRENT_BINARY_DIR@\libturbojpeg.dll.a"
  57. File "@CMAKE_CURRENT_BINARY_DIR@\libturbojpeg.a"
  58. File "@CMAKE_CURRENT_BINARY_DIR@\libjpeg.dll.a"
  59. File "@CMAKE_CURRENT_BINARY_DIR@\libjpeg.a"
  60. !else
  61. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}turbojpeg.lib"
  62. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}turbojpeg-static.lib"
  63. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}jpeg.lib"
  64. File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}jpeg-static.lib"
  65. !endif
  66. SetOutPath $INSTDIR\lib\pkgconfig
  67. File "@CMAKE_CURRENT_BINARY_DIR@\pkgscripts\libjpeg.pc"
  68. File "@CMAKE_CURRENT_BINARY_DIR@\pkgscripts\libturbojpeg.pc"
  69. !ifdef JAVA
  70. SetOutPath $INSTDIR\classes
  71. File "@CMAKE_CURRENT_BINARY_DIR@\java\turbojpeg.jar"
  72. !endif
  73. SetOutPath $INSTDIR\include
  74. File "@CMAKE_CURRENT_BINARY_DIR@\jconfig.h"
  75. File "@CMAKE_CURRENT_SOURCE_DIR@\jerror.h"
  76. File "@CMAKE_CURRENT_SOURCE_DIR@\jmorecfg.h"
  77. File "@CMAKE_CURRENT_SOURCE_DIR@\jpeglib.h"
  78. File "@CMAKE_CURRENT_SOURCE_DIR@\turbojpeg.h"
  79. SetOutPath $INSTDIR\doc
  80. File "@CMAKE_CURRENT_SOURCE_DIR@\README.ijg"
  81. File "@CMAKE_CURRENT_SOURCE_DIR@\README.md"
  82. File "@CMAKE_CURRENT_SOURCE_DIR@\LICENSE.md"
  83. File "@CMAKE_CURRENT_SOURCE_DIR@\example.txt"
  84. File "@CMAKE_CURRENT_SOURCE_DIR@\libjpeg.txt"
  85. File "@CMAKE_CURRENT_SOURCE_DIR@\structure.txt"
  86. File "@CMAKE_CURRENT_SOURCE_DIR@\usage.txt"
  87. File "@CMAKE_CURRENT_SOURCE_DIR@\wizard.txt"
  88. File "@CMAKE_CURRENT_SOURCE_DIR@\tjexample.c"
  89. File "@CMAKE_CURRENT_SOURCE_DIR@\java\TJExample.java"
  90. !ifdef GCC
  91. SetOutPath $INSTDIR\man\man1
  92. File "@CMAKE_CURRENT_SOURCE_DIR@\cjpeg.1"
  93. File "@CMAKE_CURRENT_SOURCE_DIR@\djpeg.1"
  94. File "@CMAKE_CURRENT_SOURCE_DIR@\jpegtran.1"
  95. File "@CMAKE_CURRENT_SOURCE_DIR@\rdjpgcom.1"
  96. File "@CMAKE_CURRENT_SOURCE_DIR@\wrjpgcom.1"
  97. !endif
  98. WriteRegStr HKLM "SOFTWARE\@INST_REG_NAME@ @VERSION@" "Install_Dir" "$INSTDIR"
  99. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@" "DisplayName" "@CMAKE_PROJECT_NAME@ SDK v@VERSION@ for @INST_PLATFORM@"
  100. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@" "UninstallString" '"$INSTDIR\uninstall_@VERSION@.exe"'
  101. WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@" "NoModify" 1
  102. WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@" "NoRepair" 1
  103. WriteUninstaller "uninstall_@VERSION@.exe"
  104. SectionEnd
  105. Section "Uninstall"
  106. !ifdef WIN64
  107. ${If} ${RunningX64}
  108. ${DisableX64FSRedirection}
  109. ${Endif}
  110. !endif
  111. SetShellVarContext all
  112. DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@"
  113. DeleteRegKey HKLM "SOFTWARE\@INST_REG_NAME@ @VERSION@"
  114. !ifdef GCC
  115. Delete $INSTDIR\bin\libjpeg-@SO_MAJOR_VERSION@.dll
  116. Delete $INSTDIR\bin\libturbojpeg.dll
  117. Delete $SYSDIR\libturbojpeg.dll
  118. Delete $INSTDIR\lib\libturbojpeg.dll.a
  119. Delete $INSTDIR\lib\libturbojpeg.a
  120. Delete $INSTDIR\lib\libjpeg.dll.a
  121. Delete $INSTDIR\lib\libjpeg.a
  122. !else
  123. Delete $INSTDIR\bin\jpeg@SO_MAJOR_VERSION@.dll
  124. Delete $INSTDIR\bin\turbojpeg.dll
  125. Delete $SYSDIR\turbojpeg.dll
  126. Delete $INSTDIR\lib\jpeg.lib
  127. Delete $INSTDIR\lib\jpeg-static.lib
  128. Delete $INSTDIR\lib\turbojpeg.lib
  129. Delete $INSTDIR\lib\turbojpeg-static.lib
  130. !endif
  131. Delete $INSTDIR\lib\pkgconfig\libjpeg.pc
  132. Delete $INSTDIR\lib\pkgconfig\libturbojpeg.pc
  133. !ifdef JAVA
  134. Delete $INSTDIR\classes\turbojpeg.jar
  135. !endif
  136. Delete $INSTDIR\bin\cjpeg.exe
  137. Delete $INSTDIR\bin\djpeg.exe
  138. Delete $INSTDIR\bin\jpegtran.exe
  139. Delete $INSTDIR\bin\tjbench.exe
  140. Delete $INSTDIR\bin\rdjpgcom.exe
  141. Delete $INSTDIR\bin\wrjpgcom.exe
  142. Delete $INSTDIR\include\jconfig.h
  143. Delete $INSTDIR\include\jerror.h
  144. Delete $INSTDIR\include\jmorecfg.h
  145. Delete $INSTDIR\include\jpeglib.h
  146. Delete $INSTDIR\include\turbojpeg.h
  147. Delete $INSTDIR\uninstall_@VERSION@.exe
  148. Delete $INSTDIR\doc\README.ijg
  149. Delete $INSTDIR\doc\README.md
  150. Delete $INSTDIR\doc\LICENSE.md
  151. Delete $INSTDIR\doc\example.txt
  152. Delete $INSTDIR\doc\libjpeg.txt
  153. Delete $INSTDIR\doc\structure.txt
  154. Delete $INSTDIR\doc\usage.txt
  155. Delete $INSTDIR\doc\wizard.txt
  156. Delete $INSTDIR\doc\tjexample.c
  157. Delete $INSTDIR\doc\TJExample.java
  158. !ifdef GCC
  159. Delete $INSTDIR\man\man1\cjpeg.1
  160. Delete $INSTDIR\man\man1\djpeg.1
  161. Delete $INSTDIR\man\man1\jpegtran.1
  162. Delete $INSTDIR\man\man1\rdjpgcom.1
  163. Delete $INSTDIR\man\man1\wrjpgcom.1
  164. !endif
  165. RMDir "$INSTDIR\include"
  166. RMDir "$INSTDIR\lib\pkgconfig"
  167. RMDir "$INSTDIR\lib"
  168. RMDir "$INSTDIR\doc"
  169. !ifdef GCC
  170. RMDir "$INSTDIR\man\man1"
  171. RMDir "$INSTDIR\man"
  172. !endif
  173. !ifdef JAVA
  174. RMDir "$INSTDIR\classes"
  175. !endif
  176. RMDir "$INSTDIR\bin"
  177. RMDir "$INSTDIR"
  178. SectionEnd