lms-video/Gem/build/win-nsis/Gem.nsi
Santi Noreña e85d191b46 - Reestructuración de ficheros y directorios general
- merge v0.01 --> Añadido fileselector
- Añadidas fuentes de Gem y Pure Data
- pix2jpg incluído en Gem. Archivos de construcción de Gem modificados.
- Añadido fichero ompiling.txt con instrucciones de compilación
2013-02-04 18:00:17 +01:00

617 lines
24 KiB
NSIS

; TODO
; - check whether Pd is installed
; this is where Pd stores it's settings:
; HKEY_LOCAL_MACHINE\SOFTWARE\Pd
; this is the uninstaller-information of Pd-extended
; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\pd_is1 InstallLocation
; - ask to set env-variables
; GEM_SINGLE_CONTEXT /* ??? */
; GEM_RECTANGLE_TEXTURE /* unneeded since glew? */
; GEM_NO_TABLET /* unneeded as [gemtablet] was dropped */
; GEM_DEFAULT_FONT /* "$INSTDIR/examples/data/vera.ttf" */
; system-envvars:
; HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
; user-envvars:
; HKEY_CURRENT_USER\Environment
; Script generated by the HM NIS Edit Script Wizard.
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Gem"
!ifndef PRODUCT_VERSION
!define PRODUCT_VERSION "0.93"
!endif
!define PRODUCT_ARCH "-W32-i686"
!define PRODUCT_PUBLISHER "iem et al."
!define PRODUCT_WEB_SITE "http://gem.iem.at"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
OutFile "Gem-${PRODUCT_VERSION}${PRODUCT_ARCH}.exe"
!define BASE_INDIR "..\.."
!define BUILD_INDIR "..\win-vs2003"
; MUI 1.67 compatible ------
!include "MUI.nsh"
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!insertmacro MUI_PAGE_LICENSE "..\..\GnuGPL.LICENSE.txt"
; Components page
!insertmacro MUI_PAGE_COMPONENTS
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "English"
; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
;InstallDir "$PROGRAMFILES\pd\extra\Gem"
InstallDir "$%COMMONPROGRAMFILES%\Pd\Gem"
ShowInstDetails show
ShowUnInstDetails show
Var /GLOBAL GEM_OUTDIR
Var /GLOBAL GEMDEV_OUTDIR
Var /GLOBAL EXTRA_OUTDIR
; the sections for the library itself (binary+abstractions)
SectionGroup "Gem" SEC_Gem
Section "Gem-binary" SEC_GemBinary
StrCpy $EXTRA_OUTDIR "$INSTDIR\.."
StrCpy $GEM_OUTDIR "$INSTDIR"
StrCpy $GEMDEV_OUTDIR "$GEM_OUTDIR\dev"
SetOverwrite ifnewer
SectionIn RO
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\Gem.dll"
File "${BASE_INDIR}\GnuGPL.LICENSE.txt"
File "${BASE_INDIR}\COPYING.txt"
File "${BASE_INDIR}\ChangeLog"
File "${BASE_INDIR}\README.txt"
SectionEnd
Section "Gem-abstractions" SEC_GemAbs
SectionIn RO
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BASE_INDIR}\abstractions\*.pd"
SectionEnd
SectionGroupEnd
SectionGroup "Documentation" SEC_documentation
Section "reference" SEC_ref
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File /r /x .svn "${BASE_INDIR}\help\*.pd"
SectionEnd
Section "examples" SEC_examples
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR\examples\"
File /r /x .svn /x "Makefile*" "${BASE_INDIR}\examples\*.*"
; this should only be set if there is no entry yet
WriteRegStr SHCTX "Environment" "GEM_DEFAULT_FONT" "$GEM_OUTDIR\examples\data\vera.ttf"
SectionEnd
Section "manual" SEC_manual
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR\manual"
File /r /x .svn "${BASE_INDIR}\doc\manual\*.*"
SectionEnd
Section "doc" SEC_doc
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BASE_INDIR}\doc\cMatrix.html"
File "${BASE_INDIR}\doc\gem.known_bugs.txt"
File "${BASE_INDIR}\doc\GemPrimer.pdf"
File "${BASE_INDIR}\doc\gem.release_notes.txt"
File "${BASE_INDIR}\doc\gem.todo.txt"
SectionEnd
SectionGroupEnd
SectionGroup "plugins" SEC_plugin
SectionGroup "film" SEC_plugin_film
Section "DirectShow movies" SEC_plugin_filmDS
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_filmDS.dll"
SectionEnd
Section "QuickTime movies" SEC_plugin_filmQT
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_filmQT.dll"
SectionEnd
Section /o "AVI movies" SEC_plugin_filmAVI
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_filmAVI.dll"
SectionEnd
SectionGroupEnd
SectionGroup "image" SEC_plugin_image
Section "ImageMagick images" SEC_plugin_imageMAGICK
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_imageMAGICK.dll"
SectionEnd
Section /o "QuickTime images" SEC_plugin_imageQT
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_imageQT.dll"
SectionEnd
Section /o "SGI images" SEC_plugin_imageSGI
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_imageSGI.dll"
SectionEnd
Section /o "JPEG images" SEC_plugin_imageJPEG
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_imageJPEG.dll"
SectionEnd
Section /o "TIFF images" SEC_plugin_imageTIFF
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_imageTIFF.dll"
SectionEnd
SectionGroupEnd
SectionGroup "record" SEC_plugin_record
Section "QuickTime recording" SEC_plugin_recordQT
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_recordQT.dll"
SectionEnd
SectionGroupEnd
SectionGroup "video" SEC_plugin_video
Section "DirectShow capturing" SEC_plugin_videoDS
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_videoDS.dll"
SectionEnd
Section /o "VFW capturing" SEC_plugin_videoVFW
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_videoVFW.dll"
SectionEnd
; Section /o "Allied Vision Technologies capturing" SEC_plugin_videoAVT
; SetOverwrite ifnewer
; SetOutPath "$GEM_OUTDIR"
; File "${BUILD_INDIR}\gem_videoAVT.dll"
; SectionEnd
Section /o "MVTec/HALCON capturing" SEC_plugin_videoHALCON
SetOverwrite ifnewer
SetOutPath "$GEM_OUTDIR"
File "${BUILD_INDIR}\gem_videoHALCON.dll"
SectionEnd
; Section /o "Basler/PYLON capturing" SEC_plugin_videoPYLON
; SetOverwrite ifnewer
; SetOutPath "$GEM_OUTDIR"
; File "${BUILD_INDIR}\gem_videoPYLON.dll"
; SectionEnd
SectionGroupEnd
SectionGroupEnd
SectionGroup "extra" SEC_extra
Section "pix_drum" SEC_extra_pix_drum
SetOverwrite ifnewer
SetOutPath "$EXTRA_OUTDIR\pix_drum"
File "${BASE_INDIR}\extra\pix_drum\pix_drum.dll"
File "${BASE_INDIR}\extra\pix_drum\pix_drum-help.pd"
File "${BASE_INDIR}\extra\pix_drum\LICENSE.txt"
SectionEnd
Section "pix_mano" SEC_extra_pix_mano
SetOverwrite ifnewer
SetOutPath "$EXTRA_OUTDIR\pix_mano"
File "${BASE_INDIR}\extra\pix_mano\pix_mano.dll"
File "${BASE_INDIR}\extra\pix_mano\pix_mano-help.pd"
File "${BASE_INDIR}\extra\pix_mano\LICENSE.txt"
SectionEnd
Section "pix_fiducialtrack" SEC_extra_pix_fiducialtrack
SetOverwrite ifnewer
SetOutPath "$EXTRA_OUTDIR\pix_fiducialtrack"
File "${BASE_INDIR}\extra\pix_fiducialtrack\pix_fiducialtrack.dll"
File "${BASE_INDIR}\extra\pix_fiducialtrack\pix_fiducialtrack-help.pd"
File "${BASE_INDIR}\extra\pix_fiducialtrack\all.trees"
SectionEnd
Section "pix_artoolkit" SEC_extra_pix_artoolkit
SetOverwrite ifnewer
SetOutPath "$EXTRA_OUTDIR\pix_artoolkit"
File "${BASE_INDIR}\extra\pix_artoolkit\pix_artoolkit.dll"
File "${BASE_INDIR}\extra\pix_artoolkit\pix_artoolkit-help.pd"
File "${BASE_INDIR}\extra\pix_artoolkit\README.txt"
File "${BASE_INDIR}\extra\pix_artoolkit\camera_para.dat"
File "${BASE_INDIR}\extra\pix_artoolkit\patt.hiro"
File "${BASE_INDIR}\extra\pix_artoolkit\pattHiro.pdf"
SectionEnd
SectionGroupEnd
Section "Development" SEC_dev
SetOverwrite ifnewer
SetOutPath "$GEMDEV_OUTDIR"
File "${BUILD_INDIR}\Gem.lib"
SetOutPath "$GEMDEV_OUTDIR\RTE"
File ${BASE_INDIR}\src\RTE\MessageCallbacks.h
File ${BASE_INDIR}\src\RTE\Array.h
SetOutPath "$GEMDEV_OUTDIR\Gem"
File ${BASE_INDIR}\src\Gem\ThreadSemaphore.h
File ${BASE_INDIR}\src\Gem\ThreadMutex.h
File ${BASE_INDIR}\src\Gem\SynchedWorkerThread.h
File ${BASE_INDIR}\src\Gem\WorkerThread.h
File ${BASE_INDIR}\src\Gem\PixConvert.h
File ${BASE_INDIR}\src\Gem\ImageIO.h
File ${BASE_INDIR}\src\Gem\Image.h
File ${BASE_INDIR}\src\Gem\GLStack.h
File ${BASE_INDIR}\src\Gem\wglew.h
File ${BASE_INDIR}\src\Gem\glxew.h
File ${BASE_INDIR}\src\Gem\glew.h
File ${BASE_INDIR}\src\Gem\GemGL.h
File ${BASE_INDIR}\src\Gem\Event.h
File ${BASE_INDIR}\src\Gem\PBuffer.h
File ${BASE_INDIR}\src\Gem\Manager.h
File ${BASE_INDIR}\src\Gem\Loaders.h
File ${BASE_INDIR}\src\Gem\Settings.h
File ${BASE_INDIR}\src\Gem\Properties.h
File ${BASE_INDIR}\src\Gem\ContextData.h
File ${BASE_INDIR}\src\Gem\Files.h
File ${BASE_INDIR}\src\Gem\Dylib.h
File ${BASE_INDIR}\src\Gem\Exception.h
File ${BASE_INDIR}\src\Gem\Cache.h
File ${BASE_INDIR}\src\Gem\State.h
File ${BASE_INDIR}\src\Gem\RTE.h
File ${BASE_INDIR}\src\Gem\Version.h
File ${BASE_INDIR}\src\Gem\ExportDef.h
SetOutPath "$GEMDEV_OUTDIR\Utils"
File ${BASE_INDIR}\src\Utils\Vector.h
File ${BASE_INDIR}\src\Utils\SIMD.h
File ${BASE_INDIR}\src\Utils\PixPete.h
File ${BASE_INDIR}\src\Utils\Matrix.h
File ${BASE_INDIR}\src\Utils\GemMath.h
File ${BASE_INDIR}\src\Utils\GLUtil.h
File ${BASE_INDIR}\src\Utils\Functions.h
File ${BASE_INDIR}\src\Utils\any.h
SetOutPath "$GEMDEV_OUTDIR\Base"
File ${BASE_INDIR}\src\Base\GemContext.h
File ${BASE_INDIR}\src\Base\GemWindow.h
File ${BASE_INDIR}\src\Base\TextBase.h
File ${BASE_INDIR}\src\Base\GemShape.h
File ${BASE_INDIR}\src\Base\GemPixDualObj.h
File ${BASE_INDIR}\src\Base\GemPixObj.h
File ${BASE_INDIR}\src\Base\GemPathBase.h
File ${BASE_INDIR}\src\Base\GemGluObj.h
File ${BASE_INDIR}\src\Base\GemGLBase.h
File ${BASE_INDIR}\src\Base\GemBase.h
File ${BASE_INDIR}\src\Base\CPPExtern.h
SetOutPath "$GEMDEV_OUTDIR\plugins"
File ${BASE_INDIR}\src\plugins\video.h
File ${BASE_INDIR}\src\plugins\record.h
File ${BASE_INDIR}\src\plugins\imagesaver.h
File ${BASE_INDIR}\src\plugins\imageloader.h
File ${BASE_INDIR}\src\plugins\film.h
File ${BASE_INDIR}\src\plugins\PluginFactoryTimple.h
File ${BASE_INDIR}\src\plugins\PluginFactory.h
SetOutPath "$GEMDEV_OUTDIR\Base"
File ${BASE_INDIR}\src\deprecated\Base\Matrix.h
File ${BASE_INDIR}\src\deprecated\Base\GemVersion.h
File ${BASE_INDIR}\src\deprecated\Base\GemVector.h
File ${BASE_INDIR}\src\deprecated\Base\GemState.h
File ${BASE_INDIR}\src\deprecated\Base\GemSIMD.h
File ${BASE_INDIR}\src\deprecated\Base\GemPixUtil.h
File ${BASE_INDIR}\src\deprecated\Base\GemPixPete.h
File ${BASE_INDIR}\src\deprecated\Base\GemPixImageSave.h
File ${BASE_INDIR}\src\deprecated\Base\GemPixImageLoad.h
File ${BASE_INDIR}\src\deprecated\Base\GemPixConvert.h
File ${BASE_INDIR}\src\deprecated\Base\GemPBuffer.h
File ${BASE_INDIR}\src\deprecated\Base\GemMath.h
File ${BASE_INDIR}\src\deprecated\Base\GemMan.h
File ${BASE_INDIR}\src\deprecated\Base\GemLoaders.h
File ${BASE_INDIR}\src\deprecated\Base\GemGLUtil.h
File ${BASE_INDIR}\src\deprecated\Base\GemGL.h
File ${BASE_INDIR}\src\deprecated\Base\GemFuncUtil.h
File ${BASE_INDIR}\src\deprecated\Base\GemExportDef.h
File ${BASE_INDIR}\src\deprecated\Base\GemEvent.h
File ${BASE_INDIR}\src\deprecated\Base\GemContextData.h
File ${BASE_INDIR}\src\deprecated\Base\GemCache.h
WriteRegStr SHCTX "Environment" "GemDevDir" "$GEMDEV_OUTDIR"
SectionEnd
Function .onInit
; prevent multiple instances running at the same time
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "gemInstallerMutex") i .r1 ?e'
Pop $R0
StrCmp $R0 0 +3
MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running."
Abort
FunctionEnd
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) has been successfully uninstalled."
FunctionEnd
Function un.onInit
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Do you really want to uninstall $(^Name) and all it's components?" IDYES +2
Abort
StrCpy $EXTRA_OUTDIR "$INSTDIR\.."
StrCpy $GEM_OUTDIR "$INSTDIR"
StrCpy $GEMDEV_OUTDIR "$GEM_OUTDIR\dev"
FunctionEnd
; uäh: isn't there a way to only delete the files we actually installed?
; that is: without having to enumerate them here
Section Uninstall
Delete "$GEM_OUTDIR\manual\*.*"
RMDir "$GEM_OUTDIR\manual"
Delete "$GEM_OUTDIR\cMatrix.html"
Delete "$GEM_OUTDIR\gem.known_bugs.txt"
Delete "$GEM_OUTDIR\GemPrimer.pdf"
Delete "$GEM_OUTDIR\gem.release_notes.txt"
Delete "$GEM_OUTDIR\gem.todo.txt"
Delete "$GEM_OUTDIR\examples\data\*.*"
Delete "$GEM_OUTDIR\examples\99.games\*.pd"
Delete "$GEM_OUTDIR\examples\13.recursion\*.pd"
Delete "$GEM_OUTDIR\examples\13.recursion\README"
Delete "$GEM_OUTDIR\examples\12.multi_screen_projection\*.pd"
Delete "$GEM_OUTDIR\examples\12.multi_screen_projection\*.frag"
Delete "$GEM_OUTDIR\examples\12.multi_screen_projection\*.vert"
Delete "$GEM_OUTDIR\examples\12.multi_screen_projection\config.txt"
Delete "$GEM_OUTDIR\examples\12.multi_screen_projection\grid.jpg"
Delete "$GEM_OUTDIR\examples\11.obj-exporter\*.pd"
Delete "$GEM_OUTDIR\examples\10.glsl\*.frag"
Delete "$GEM_OUTDIR\examples\10.glsl\*.vert"
Delete "$GEM_OUTDIR\examples\10.glsl\*.geom"
Delete "$GEM_OUTDIR\examples\10.glsl\*.jpg"
Delete "$GEM_OUTDIR\examples\10.glsl\*.pd"
Delete "$GEM_OUTDIR\examples\09.openGL\*.pd"
Delete "$GEM_OUTDIR\examples\08.io\*.pd"
Delete "$GEM_OUTDIR\examples\07.texture\*.pd"
Delete "$GEM_OUTDIR\examples\06.particle\*.pd"
Delete "$GEM_OUTDIR\examples\05.text\*.ttf"
Delete "$GEM_OUTDIR\examples\05.text\*.pd"
Delete "$GEM_OUTDIR\examples\04.video\*.pd"
Delete "$GEM_OUTDIR\examples\04.pix\*.pd"
Delete "$GEM_OUTDIR\examples\03.lighting\*.pd"
Delete "$GEM_OUTDIR\examples\02.advanced\*.pd"
Delete "$GEM_OUTDIR\examples\01.basic\*.pd"
RMDir "$GEM_OUTDIR\examples\data"
RMDir "$GEM_OUTDIR\examples\99.games"
RMDir "$GEM_OUTDIR\examples\13.recursion"
RMDir "$GEM_OUTDIR\examples\12.multi_screen_projection"
RMDir "$GEM_OUTDIR\examples\11.obj-exporter"
RMDir "$GEM_OUTDIR\examples\10.glsl"
RMDir "$GEM_OUTDIR\examples\09.openGL"
RMDir "$GEM_OUTDIR\examples\08.io"
RMDir "$GEM_OUTDIR\examples\07.texture"
RMDir "$GEM_OUTDIR\examples\06.particle"
RMDir "$GEM_OUTDIR\examples\05.text"
RMDir "$GEM_OUTDIR\examples\04.video"
RMDir "$GEM_OUTDIR\examples\04.pix"
RMDir "$GEM_OUTDIR\examples\03.lighting"
RMDir "$GEM_OUTDIR\examples\02.advanced"
RMDir "$GEM_OUTDIR\examples\01.basic"
RMDir "$GEM_OUTDIR\examples"
Delete "$GEM_OUTDIR\pix_*.pd"
Delete "$GEM_OUTDIR\*-help.pd"
Delete "$GEM_OUTDIR\*.pd"
Delete "$GEM_OUTDIR\gem_filmAVI.dll"
Delete "$GEM_OUTDIR\gem_filmDS.dll"
Delete "$GEM_OUTDIR\gem_filmQT.dll"
Delete "$GEM_OUTDIR\gem_imageJPEG.dll"
Delete "$GEM_OUTDIR\gem_imageMAGICK.dll"
Delete "$GEM_OUTDIR\gem_imageQT.dll"
Delete "$GEM_OUTDIR\gem_imageSGI.dll"
Delete "$GEM_OUTDIR\gem_imageTIFF.dll"
Delete "$GEM_OUTDIR\gem_recordQT.dll"
; Delete "$GEM_OUTDIR\gem_videoAVT.dll"
Delete "$GEM_OUTDIR\gem_videoDS.dll"
Delete "$GEM_OUTDIR\gem_videoHALCON.dll"
; Delete "$GEM_OUTDIR\gem_videoPYLON.dll"
Delete "$GEM_OUTDIR\gem_videoVFW.dll"
Delete "$GEM_OUTDIR\Gem.dll"
Delete "$GEM_OUTDIR\GnuGPL.LICENSE.txt"
Delete "$GEM_OUTDIR\COPYING.txt"
Delete "$GEM_OUTDIR\ChangeLog"
Delete "$GEM_OUTDIR\README.txt"
/* Development */
Delete "$GEMDEV_OUTDIR\Gem.lib"
Delete "$GEMDEV_OUTDIR\RTE\MessageCallbacks.h"
Delete "$GEMDEV_OUTDIR\RTE\Array.h"
Delete "$GEMDEV_OUTDIR\Gem\ThreadSemaphore.h"
Delete "$GEMDEV_OUTDIR\Gem\ThreadMutex.h"
Delete "$GEMDEV_OUTDIR\Gem\SynchedWorkerThread.h"
Delete "$GEMDEV_OUTDIR\Gem\WorkerThread.h"
Delete "$GEMDEV_OUTDIR\Gem\PixConvert.h"
Delete "$GEMDEV_OUTDIR\Gem\ImageIO.h"
Delete "$GEMDEV_OUTDIR\Gem\Image.h"
Delete "$GEMDEV_OUTDIR\Gem\GLStack.h"
Delete "$GEMDEV_OUTDIR\Gem\wglew.h"
Delete "$GEMDEV_OUTDIR\Gem\glxew.h"
Delete "$GEMDEV_OUTDIR\Gem\glew.h"
Delete "$GEMDEV_OUTDIR\Gem\GemGL.h"
Delete "$GEMDEV_OUTDIR\Gem\Event.h"
Delete "$GEMDEV_OUTDIR\Gem\PBuffer.h"
Delete "$GEMDEV_OUTDIR\Gem\Manager.h"
Delete "$GEMDEV_OUTDIR\Gem\Loaders.h"
Delete "$GEMDEV_OUTDIR\Gem\Settings.h"
Delete "$GEMDEV_OUTDIR\Gem\Properties.h"
Delete "$GEMDEV_OUTDIR\Gem\ContextData.h"
Delete "$GEMDEV_OUTDIR\Gem\Files.h"
Delete "$GEMDEV_OUTDIR\Gem\Dylib.h"
Delete "$GEMDEV_OUTDIR\Gem\Exception.h"
Delete "$GEMDEV_OUTDIR\Gem\Cache.h"
Delete "$GEMDEV_OUTDIR\Gem\State.h"
Delete "$GEMDEV_OUTDIR\Gem\RTE.h"
Delete "$GEMDEV_OUTDIR\Gem\Version.h"
Delete "$GEMDEV_OUTDIR\Gem\ExportDef.h"
Delete "$GEMDEV_OUTDIR\Utils\Vector.h"
Delete "$GEMDEV_OUTDIR\Utils\SIMD.h"
Delete "$GEMDEV_OUTDIR\Utils\PixPete.h"
Delete "$GEMDEV_OUTDIR\Utils\Matrix.h"
Delete "$GEMDEV_OUTDIR\Utils\GemMath.h"
Delete "$GEMDEV_OUTDIR\Utils\GLUtil.h"
Delete "$GEMDEV_OUTDIR\Utils\Functions.h"
Delete "$GEMDEV_OUTDIR\Utils\any.h"
Delete "$GEMDEV_OUTDIR\Base\GemContext.h"
Delete "$GEMDEV_OUTDIR\Base\GemWindow.h"
Delete "$GEMDEV_OUTDIR\Base\TextBase.h"
Delete "$GEMDEV_OUTDIR\Base\GemShape.h"
Delete "$GEMDEV_OUTDIR\Base\GemPixDualObj.h"
Delete "$GEMDEV_OUTDIR\Base\GemPixObj.h"
Delete "$GEMDEV_OUTDIR\Base\GemPathBase.h"
Delete "$GEMDEV_OUTDIR\Base\GemGluObj.h"
Delete "$GEMDEV_OUTDIR\Base\GemGLBase.h"
Delete "$GEMDEV_OUTDIR\Base\GemBase.h"
Delete "$GEMDEV_OUTDIR\Base\CPPExtern.h"
Delete "$GEMDEV_OUTDIR\plugins\video.h"
Delete "$GEMDEV_OUTDIR\plugins\record.h"
Delete "$GEMDEV_OUTDIR\plugins\imagesaver.h"
Delete "$GEMDEV_OUTDIR\plugins\imageloader.h"
Delete "$GEMDEV_OUTDIR\plugins\film.h"
Delete "$GEMDEV_OUTDIR\plugins\PluginFactoryTimple.h"
Delete "$GEMDEV_OUTDIR\plugins\PluginFactory.h"
Delete "$GEMDEV_OUTDIR\Base\Matrix.h"
Delete "$GEMDEV_OUTDIR\Base\GemVersion.h"
Delete "$GEMDEV_OUTDIR\Base\GemVector.h"
Delete "$GEMDEV_OUTDIR\Base\GemState.h"
Delete "$GEMDEV_OUTDIR\Base\GemSIMD.h"
Delete "$GEMDEV_OUTDIR\Base\GemPixUtil.h"
Delete "$GEMDEV_OUTDIR\Base\GemPixPete.h"
Delete "$GEMDEV_OUTDIR\Base\GemPixImageSave.h"
Delete "$GEMDEV_OUTDIR\Base\GemPixImageLoad.h"
Delete "$GEMDEV_OUTDIR\Base\GemPixConvert.h"
Delete "$GEMDEV_OUTDIR\Base\GemPBuffer.h"
Delete "$GEMDEV_OUTDIR\Base\GemMath.h"
Delete "$GEMDEV_OUTDIR\Base\GemMan.h"
Delete "$GEMDEV_OUTDIR\Base\GemLoaders.h"
Delete "$GEMDEV_OUTDIR\Base\GemGLUtil.h"
Delete "$GEMDEV_OUTDIR\Base\GemGL.h"
Delete "$GEMDEV_OUTDIR\Base\GemFuncUtil.h"
Delete "$GEMDEV_OUTDIR\Base\GemExportDef.h"
Delete "$GEMDEV_OUTDIR\Base\GemEvent.h"
Delete "$GEMDEV_OUTDIR\Base\GemContextData.h"
Delete "$GEMDEV_OUTDIR\Base\GemCache.h"
RMDir "$GEMDEV_OUTDIR\RTE"
RMDir "$GEMDEV_OUTDIR\Gem"
RMDir "$GEMDEV_OUTDIR\Utils"
RMDir "$GEMDEV_OUTDIR\Base"
RMDir "$GEMDEV_OUTDIR\plugins"
RMDir "$GEMDEV_OUTDIR\Base"
RMDir "$GEMDEV_OUTDIR"
/* extra */
Delete "$EXTRA_OUTDIR\pix_drum\pix_drum.dll"
Delete "$EXTRA_OUTDIR\pix_drum\pix_drum-help.pd"
Delete "$EXTRA_OUTDIR\pix_drum\LICENSE.txt"
Delete "$EXTRA_OUTDIR\pix_mano\pix_mano.dll"
Delete "$EXTRA_OUTDIR\pix_mano\pix_mano-help.pd"
Delete "$EXTRA_OUTDIR\pix_mano\LICENSE.txt"
Delete "$EXTRA_OUTDIR\pix_fiducialtrack\pix_fiducialtrack.dll"
Delete "$EXTRA_OUTDIR\pix_fiducialtrack\pix_fiducialtrack-help.pd"
Delete "$EXTRA_OUTDIR\pix_fiducialtrack\all.trees"
Delete "$EXTRA_OUTDIR\pix_artoolkit\pix_artoolkit.dll"
Delete "$EXTRA_OUTDIR\pix_artoolkit\pix_artoolkit-help.pd"
Delete "$EXTRA_OUTDIR\pix_artoolkit\README.txt"
Delete "$EXTRA_OUTDIR\pix_artoolkit\camera_para.dat"
Delete "$EXTRA_OUTDIR\pix_artoolkit\patt.hiro"
Delete "$EXTRA_OUTDIR\pix_artoolkit\pattHiro.pdf"
RMDir "$EXTRA_OUTDIR\pix_drum"
RMDir "$EXTRA_OUTDIR\pix_mano"
RMDir "$EXTRA_OUTDIR\pix_fiducialtrack"
RMDir "$EXTRA_OUTDIR\pix_artoolkit"
Delete "$GEM_OUTDIR\uninst.exe"
RMDir "$GEM_OUTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
; try to delete SHCTX \"Environment"\"GEM_DEFAULT_FONT" if it is "$GEM_OUTDIR\examples\data\vera.ttf"
SetAutoClose true
SectionEnd
Section -Post
WriteUninstaller "$GEM_OUTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$GEM_OUTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_Gem} "Graphical Environment for Multimedia"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_GemBinary} "the Gem binary"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_GemAbs} "Gem-abstractions"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_documentation} "Gem documentation: patches, HTML, PDFs,..."
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_ref} "reference patches for Gem-objects"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_examples} "a large number of patches showing what to do with GEM"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_manual} "HTML-manual"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_doc} "Gem primer,..."
#plugins
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin} "plugins to enhance Gem's capabilities"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_film} "plugins for movie loading"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_filmDS} "allows to read movies using DirectShow filters"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_filmQT} "allows to read movies using Apple's QuickTime library (if present)"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_filmAVI} "allows to read movies using Microsoft's old (and deprecated) AVI library"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_record} "plugins for video output"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_recordQT} "allows to output Gem-pixes into QuickTime MOVie files"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_image} "plugins for image loading/saving"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_imageMAGICK} "allows to read/write still images using ImageMagick (this can virtually read/write any image format, including but not limited to JPEG, TIFF and SGI, so it's probably the only 'image' plugin you need)"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_imageQT} "allows to read/write still images using Apple's QuickTime; NOTE that this will disable threaded loading of images"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_imageSGI} "allows to read SGI images"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_imageJPEG} "allows to read/write JPEG images"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_imageTIFF} "allows to read/write TIFF images"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_video} "plugins for live video capturing"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_videoDS} "allows to capture live video sources using DirectShow filters"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_videoVFW} "allows to capture live video using Microsoft's old (and deprecated) Video-For-Windows method"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_videoAVT} "allows to capture live video from GigE-cameras using AVT (Allied Vision Technologies); supported cameras include the Prosilica family (http://www.alliedvisiontec.com) "
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_videoHALCON} "allows to capture live video from a number of devices (including GigE-cameras and industry grade frame grabbers) using MVTec's HALCON library; you will need to purchase a license from MVTec in order to be able to use this plugin (http://www.mvtec.com) "
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_plugin_videoPYLON} "allows to capture live video from GigE-cameras using Basler's PYLON library; mainly supports Basler cameras; you might need to download additional software in order to use this plugin (http://www.baslerweb.com)"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_extra} "additional objectclasses"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_extra_pix_drum} "Jaime Olivier's [pix_drum] object for his 'Silent Drum'"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_extra_pix_mano} "Jaime Olivier's [pix_mano] object"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_extra_pix_fiducialtrack} "a port of the reactable(tm)'s fiducial tracking algorithm"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_extra_pix_artoolkit} "fiducial tracking using ARToolkit markers"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_dev} "Headers and Library-Files for developing your own Gem objects"
!insertmacro MUI_FUNCTION_DESCRIPTION_END