]> granicus.if.org Git - libjpeg-turbo/commitdiff
Integrate installer build into CMake build system
authorDRC <dcommander@users.sourceforge.net>
Sat, 16 Oct 2010 08:51:43 +0000 (08:51 +0000)
committerDRC <dcommander@users.sourceforge.net>
Sat, 16 Oct 2010 08:51:43 +0000 (08:51 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@266 632fc199-4ca6-4c93-a231-07263d6284db

CMakeLists.txt
release/libjpeg-turbo.nsi [deleted file]
release/libjpeg-turbo.nsi.in [new file with mode: 0755]

index 52d50f8cc115bf2a781ec1ffa45dc52c78cb3a38..7b0ae0511be003cd8a03b66059648c814854050d 100644 (file)
@@ -234,3 +234,37 @@ add_test(jpegtran-static-prog jpegtran-static -outfile testoutt.jpg testoutp.jpg
 add_test(jpegtran-static-prog-cmp cmp ${CMAKE_SOURCE_DIR}/testimgint.jpg testoutt.jpg)
 add_test(jpegtran-static-crop jpegtran-static -crop 120x90+20+50 -transpose -perfect -outfile testoutcrop.jpg ${CMAKE_SOURCE_DIR}/testorig.jpg)
 add_test(jpegtran-static-crop-cmp cmp ${CMAKE_SOURCE_DIR}/testimgcrop.jpg testoutcrop.jpg)
+
+
+#
+# Installer
+#
+
+set(INST_NAME ${CMAKE_PROJECT_NAME})
+
+if(MSVC)
+  set(INST_PLATFORM "Visual C++")
+elseif(MINGW)
+  set(INST_PLATFORM GCC)
+  set(INST_NAME ${INST_NAME}-gcc)
+  set(INST_DEFS -DGCC)
+endif()
+
+if(64BIT)
+  set(INST_PLATFORM "${INST_PLATFORM} 64-bit")
+  set(INST_NAME ${INST_NAME}64)
+  set(INST_DEFS ${INST_DEFS} -DWIN64)
+endif()
+
+if(MSVC_IDE)
+  set(INST_DEFS ${INST_DEFS} "-DBUILDDIR=$(OutDir)\\")
+else()
+  set(INST_DEFS ${INST_DEFS} "-DBUILDDIR=")
+endif()
+
+configure_file(release/libjpeg-turbo.nsi.in libjpeg-turbo.nsi @ONLY)
+
+add_custom_target(installer
+  makensis -nocd ${INST_DEFS} libjpeg-turbo.nsi
+  DEPENDS jpeg jpeg-static turbojpeg turbojpeg-static
+  SOURCES libjpeg-turbo.nsi)
diff --git a/release/libjpeg-turbo.nsi b/release/libjpeg-turbo.nsi
deleted file mode 100644 (file)
index c4137b3..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-!include x64.nsh
-Name "libjpeg-turbo SDK for ${PLATFORM}"
-OutFile ${WBLDDIR}\${APPNAME}.exe
-InstallDir c:\${APPNAME}
-
-SetCompressor bzip2
-
-Page directory
-Page instfiles
-
-UninstPage uninstConfirm
-UninstPage instfiles
-
-Section "libjpeg-turbo SDK for ${PLATFORM} (required)"
-!ifdef WIN64
-       ${If} ${RunningX64}
-       ${DisableX64FSRedirection}
-       ${Endif}
-!endif
-       SectionIn RO
-!ifdef GCC
-       IfFileExists $SYSDIR/libturbojpeg.dll exists 0
-!else
-       IfFileExists $SYSDIR/turbojpeg.dll exists 0
-!endif
-       goto notexists
-       exists:
-!ifdef GCC
-       MessageBox MB_OK "An existing version of the libjpeg-turbo SDK for ${PLATFORM} is already installed.  Please uninstall it first."
-!else
-       MessageBox MB_OK "An existing version of the libjpeg-turbo SDK for ${PLATFORM} or the TurboJPEG SDK is already installed.  Please uninstall it first."
-!endif
-       quit
-
-       notexists:
-       SetOutPath $SYSDIR
-!ifdef GCC
-       File "${WLIBDIR}\libturbojpeg.dll"
-!else
-       File "${WLIBDIR}\turbojpeg.dll"
-!endif
-       SetOutPath $INSTDIR\bin
-!ifdef GCC
-       File "/oname=libjpeg-62.dll" "${WLIBDIR}\libjpeg-*.dll" 
-!else
-       File "${WLIBDIR}\jpeg62.dll"
-!endif
-       SetOutPath $INSTDIR\lib
-!ifdef GCC
-       File "${WLIBDIR}\libturbojpeg.dll.a"
-       File "${WLIBDIR}\libturbojpeg.a"
-       File "${WLIBDIR}\libjpeg.dll.a"
-       File "${WLIBDIR}\libjpeg.a"
-!else
-       File "${WLIBDIR}\turbojpeg.lib"
-       File "${WLIBDIR}\turbojpeg-static.lib"
-       File "${WLIBDIR}\jpeg.lib"
-       File "${WLIBDIR}\jpeg-static.lib"
-!endif
-       SetOutPath $INSTDIR\include
-       File "${WHDRDIR}\jconfig.h"
-       File "${WSRCDIR}\jerror.h"
-       File "${WSRCDIR}\jmorecfg.h"
-       File "${WSRCDIR}\jpeglib.h"
-       File "${WSRCDIR}\turbojpeg.h"
-       SetOutPath $INSTDIR
-       File "${WSRCDIR}\README"
-       File "${WSRCDIR}\README-turbo.txt"
-       File "${WSRCDIR}\libjpeg.txt"
-       File "${WSRCDIR}\LGPL.txt"
-       File "${WSRCDIR}\LICENSE.txt"
-
-       WriteRegStr HKLM "SOFTWARE\${APPNAME} ${VERSION}" "Install_Dir" "$INSTDIR"
-
-       WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME} ${VERSION}" "DisplayName" "libjpeg-turbo SDK v${VERSION} for ${PLATFORM}"
-       WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME} ${VERSION}" "UninstallString" '"$INSTDIR\uninstall_${VERSION}.exe"'
-       WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME} ${VERSION}" "NoModify" 1
-       WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME} ${VERSION}" "NoRepair" 1
-       WriteUninstaller "uninstall_${VERSION}.exe"
-SectionEnd
-
-Section "Uninstall"
-!ifdef WIN64
-       ${If} ${RunningX64}
-       ${DisableX64FSRedirection}
-       ${Endif}
-!endif
-
-       SetShellVarContext all
-
-       DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME} ${VERSION}"
-       DeleteRegKey HKLM "SOFTWARE\${APPNAME} ${VERSION}"
-
-!ifdef GCC
-       Delete $INSTDIR\bin\libjpeg-62.dll
-       Delete $SYSDIR\libturbojpeg.dll
-       Delete $INSTDIR\lib\libturbojpeg.dll.a"
-       Delete $INSTDIR\lib\libturbojpeg.a"
-       Delete $INSTDIR\lib\libjpeg.dll.a"
-       Delete $INSTDIR\lib\libjpeg.a"
-!else
-       Delete $INSTDIR\bin\jpeg62.dll
-       Delete $SYSDIR\turbojpeg.dll
-       Delete $INSTDIR\lib\jpeg.lib
-       Delete $INSTDIR\lib\jpeg-static.lib
-       Delete $INSTDIR\lib\turbojpeg.lib
-       Delete $INSTDIR\lib\turbojpeg-static.lib
-!endif
-       Delete $INSTDIR\include\jconfig.h"
-       Delete $INSTDIR\include\jerror.h"
-       Delete $INSTDIR\include\jmorecfg.h"
-       Delete $INSTDIR\include\jpeglib.h"
-       Delete $INSTDIR\include\turbojpeg.h"
-       Delete $INSTDIR\uninstall_${VERSION}.exe
-       Delete $INSTDIR\README
-       Delete $INSTDIR\README-turbo.txt
-       Delete $INSTDIR\libjpeg.txt
-       Delete $INSTDIR\LGPL.txt
-       Delete $INSTDIR\LICENSE.txt
-
-       RMDir "$INSTDIR\include"
-       RMDir "$INSTDIR\lib"
-       RMDir "$INSTDIR\bin"
-       RMDir "$INSTDIR"
-
-SectionEnd
diff --git a/release/libjpeg-turbo.nsi.in b/release/libjpeg-turbo.nsi.in
new file mode 100755 (executable)
index 0000000..10c7c9c
--- /dev/null
@@ -0,0 +1,126 @@
+!include x64.nsh
+Name "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@"
+OutFile @CMAKE_BINARY_DIR@\${BUILDDIR}@INST_NAME@.exe
+InstallDir c:\@INST_NAME@
+
+SetCompressor bzip2
+
+Page directory
+Page instfiles
+
+UninstPage uninstConfirm
+UninstPage instfiles
+
+Section "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ (required)"
+!ifdef WIN64
+       ${If} ${RunningX64}
+       ${DisableX64FSRedirection}
+       ${Endif}
+!endif
+       SectionIn RO
+!ifdef GCC
+       IfFileExists $SYSDIR/libturbojpeg.dll exists 0
+!else
+       IfFileExists $SYSDIR/turbojpeg.dll exists 0
+!endif
+       goto notexists
+       exists:
+!ifdef GCC
+       MessageBox MB_OK "An existing version of the @CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ is already installed.  Please uninstall it first."
+!else
+       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."
+!endif
+       quit
+
+       notexists:
+       SetOutPath $SYSDIR
+!ifdef GCC
+       File "@CMAKE_BINARY_DIR@\libturbojpeg.dll"
+!else
+       File "@CMAKE_BINARY_DIR@\${BUILDDIR}turbojpeg.dll"
+!endif
+       SetOutPath $INSTDIR\bin
+!ifdef GCC
+       File "/oname=libjpeg-@DLL_VERSION@.dll" "@CMAKE_BINARY_DIR@\sharedlib\libjpeg-*.dll" 
+!else
+       File "@CMAKE_BINARY_DIR@\sharedlib\${BUILDDIR}jpeg@DLL_VERSION@.dll"
+!endif
+       SetOutPath $INSTDIR\lib
+!ifdef GCC
+       File "@CMAKE_BINARY_DIR@\libturbojpeg.dll.a"
+       File "@CMAKE_BINARY_DIR@\libturbojpeg.a"
+       File "@CMAKE_BINARY_DIR@\sharedlib\libjpeg.dll.a"
+       File "@CMAKE_BINARY_DIR@\libjpeg.a"
+!else
+       File "@CMAKE_BINARY_DIR@\${BUILDDIR}turbojpeg.lib"
+       File "@CMAKE_BINARY_DIR@\${BUILDDIR}turbojpeg-static.lib"
+       File "@CMAKE_BINARY_DIR@\sharedlib\${BUILDDIR}jpeg.lib"
+       File "@CMAKE_BINARY_DIR@\${BUILDDIR}jpeg-static.lib"
+!endif
+       SetOutPath $INSTDIR\include
+       File "@CMAKE_BINARY_DIR@\jconfig.h"
+       File "@CMAKE_SOURCE_DIR@\jerror.h"
+       File "@CMAKE_SOURCE_DIR@\jmorecfg.h"
+       File "@CMAKE_SOURCE_DIR@\jpeglib.h"
+       File "@CMAKE_SOURCE_DIR@\turbojpeg.h"
+       SetOutPath $INSTDIR
+       File "@CMAKE_SOURCE_DIR@\README"
+       File "@CMAKE_SOURCE_DIR@\README-turbo.txt"
+       File "@CMAKE_SOURCE_DIR@\libjpeg.txt"
+       File "@CMAKE_SOURCE_DIR@\LGPL.txt"
+       File "@CMAKE_SOURCE_DIR@\LICENSE.txt"
+
+       WriteRegStr HKLM "SOFTWARE\@INST_NAME@ @VERSION@" "Install_Dir" "$INSTDIR"
+
+       WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "DisplayName" "@CMAKE_PROJECT_NAME@ SDK v@VERSION@ for @INST_PLATFORM@"
+       WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "UninstallString" '"$INSTDIR\uninstall_@VERSION@.exe"'
+       WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "NoModify" 1
+       WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "NoRepair" 1
+       WriteUninstaller "uninstall_@VERSION@.exe"
+SectionEnd
+
+Section "Uninstall"
+!ifdef WIN64
+       ${If} ${RunningX64}
+       ${DisableX64FSRedirection}
+       ${Endif}
+!endif
+
+       SetShellVarContext all
+
+       DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@"
+       DeleteRegKey HKLM "SOFTWARE\@INST_NAME@ @VERSION@"
+
+!ifdef GCC
+       Delete $INSTDIR\bin\libjpeg-@DLL_VERSION@.dll
+       Delete $SYSDIR\libturbojpeg.dll
+       Delete $INSTDIR\lib\libturbojpeg.dll.a"
+       Delete $INSTDIR\lib\libturbojpeg.a"
+       Delete $INSTDIR\lib\libjpeg.dll.a"
+       Delete $INSTDIR\lib\libjpeg.a"
+!else
+       Delete $INSTDIR\bin\jpeg@DLL_VERSION@.dll
+       Delete $SYSDIR\turbojpeg.dll
+       Delete $INSTDIR\lib\jpeg.lib
+       Delete $INSTDIR\lib\jpeg-static.lib
+       Delete $INSTDIR\lib\turbojpeg.lib
+       Delete $INSTDIR\lib\turbojpeg-static.lib
+!endif
+       Delete $INSTDIR\include\jconfig.h"
+       Delete $INSTDIR\include\jerror.h"
+       Delete $INSTDIR\include\jmorecfg.h"
+       Delete $INSTDIR\include\jpeglib.h"
+       Delete $INSTDIR\include\turbojpeg.h"
+       Delete $INSTDIR\uninstall_@VERSION@.exe
+       Delete $INSTDIR\README
+       Delete $INSTDIR\README-turbo.txt
+       Delete $INSTDIR\libjpeg.txt
+       Delete $INSTDIR\LGPL.txt
+       Delete $INSTDIR\LICENSE.txt
+
+       RMDir "$INSTDIR\include"
+       RMDir "$INSTDIR\lib"
+       RMDir "$INSTDIR\bin"
+       RMDir "$INSTDIR"
+
+SectionEnd