diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-07-23 00:42:41 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-07-23 00:42:41 +0100 |
| commit | 650d80e5daf50330ec449ea22a51c3dffa684598 (patch) | |
| tree | ae9d120b92d32aaaa7f67de315bd4b6b0eb2dc6e | |
| parent | a7bc9d57f6a5c7c13400e700db50f21c283766f4 (diff) | |
| parent | 7f90438d5578ef354a26adbf04641dc10a434eee (diff) | |
Merge branch 'master' of ssh://houllier/home/carl/git/dvdomatic
| -rwxr-xr-x | make-installer | 9 | ||||
| -rw-r--r-- | src/tools/wscript | 2 | ||||
| -rw-r--r-- | windows/dvdomatic.bmp | bin | 0 -> 343254 bytes | |||
| -rw-r--r-- | windows/dvdomatic.ico | bin | 0 -> 9662 bytes | |||
| -rw-r--r-- | windows/icon.rc | 2 | ||||
| -rw-r--r-- | windows/installer.nsi.in | 110 | ||||
| -rw-r--r-- | windows/wscript | 3 | ||||
| -rw-r--r-- | wscript | 9 |
8 files changed, 134 insertions, 1 deletions
diff --git a/make-installer b/make-installer new file mode 100755 index 000000000..b783b29a2 --- /dev/null +++ b/make-installer @@ -0,0 +1,9 @@ +#!/bin/sh + +OUT=../out + +cp -r $OUT/* build/windows +cp windows/dvdomatic.ico build/windows +cp windows/dvdomatic.bmp build/windows +cp windows/.gtkrc-2.0 build/windows +makensis build/windows/installer.nsi diff --git a/src/tools/wscript b/src/tools/wscript index 7e2891237..b3e523ba5 100644 --- a/src/tools/wscript +++ b/src/tools/wscript @@ -17,4 +17,6 @@ def build(bld): obj.includes = ['..'] obj.use = ['libdvdomatic', 'libdvdomatic-gtk'] obj.source = '%s.cc' % t + if bld.env.TARGET_WINDOWS: + obj.source += ' ../../windows/icon.rc' obj.target = t diff --git a/windows/dvdomatic.bmp b/windows/dvdomatic.bmp Binary files differnew file mode 100644 index 000000000..0a196f7a0 --- /dev/null +++ b/windows/dvdomatic.bmp diff --git a/windows/dvdomatic.ico b/windows/dvdomatic.ico Binary files differnew file mode 100644 index 000000000..225008cfe --- /dev/null +++ b/windows/dvdomatic.ico diff --git a/windows/icon.rc b/windows/icon.rc new file mode 100644 index 000000000..a4f862b3c --- /dev/null +++ b/windows/icon.rc @@ -0,0 +1,2 @@ +id ICON "dvdomatic.ico" +
\ No newline at end of file diff --git a/windows/installer.nsi.in b/windows/installer.nsi.in new file mode 100644 index 000000000..4f8a53abe --- /dev/null +++ b/windows/installer.nsi.in @@ -0,0 +1,110 @@ +!include "MUI2.nsh" +Name "DVD-o-matic" + +RequestExecutionLevel user + +outFile "DVD-o-matic @version@.exe" +!define MUI_ICON "dvdomatic.ico" +!define MUI_UNICON "dvdomatic.ico" +!define MUI_SPECIALBITMAP "dvdomatic.bmp" + +InstallDir "$PROGRAMFILES\DVD-o-matic" + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "../../COPYING" +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH + +!insertmacro MUI_LANGUAGE "English" + +Section "install" "Installation info" + +SetOutPath "$INSTDIR\bin" + +File "bin/asdcp-libdcp.dll" +File "bin/avcodec-54.dll" +File "bin/avfilter-3.dll" +File "bin/avformat-54.dll" +File "bin/avutil-51.dll" +File "bin/dcp.dll" +File "bin/dvdomatic-gtk.dll" +File "bin/dvdomatic.dll" +File "bin/dvdomatic.exe" +File "bin/intl.dll" +File "bin/kumu-libdcp.dll" +File "bin/libatkmm-1.6-1.dll" +File "bin/libboost_chrono-mt.dll" +File "bin/libboost_filesystem-mt.dll" +File "bin/libboost_system-mt.dll" +File "bin/libboost_thread_win32-mt.dll" +File "bin/libcairomm-1.0-1.dll" +File "bin/libeay32.dll" +File "bin/libgcc_s_sjlj-1.dll" +File "bin/libgdk-win32-2.0-0.dll" +File "bin/libgdkmm-2.4-1.dll" +File "bin/libgdk_pixbuf-2.0-0.dll" +File "bin/libgio-2.0-0.dll" +File "bin/libgiomm-2.4-1.dll" +File "bin/libglib-2.0-0.dll" +File "bin/libglibmm-2.4-1.dll" +File "bin/libgobject-2.0-0.dll" +File "bin/libgtk-win32-2.0-0.dll" +File "bin/libgtkmm-2.4-1.dll" +File "bin/libjpeg-7.dll" +File "bin/libMagick++-5.dll" +File "bin/libMagickCore-5.dll" +File "bin/libMagickWand-5.dll" +File "bin/libopenjpeg-1.dll" +File "bin/libpangomm-1.4-1.dll" +File "bin/libpng14-14.dll" +File "bin/libsigc-2.0-0.dll" +File "bin/libsndfile-1.dll" +File "bin/libssh.dll" +File "bin/libstdc++-6.dll" +File "bin/postproc-52.dll" +File "bin/swresample-0.dll" +File "bin/swscale-2.dll" +File "bin/zlib1.dll" + +CreateDirectory "$INSTDIR\etc\gtk-2.0" +SetOutPath "$INSTDIR\etc\gtk-2.0" +File "etc/gtk-2.0/im-multipress.conf" +File "etc/gtk-2.0/gtkrc" +File "etc/gtk-2.0/gtk.immodules" + +CreateDirectory "$INSTDIR\etc\pango" +SetOutPath "$INSTDIR\etc\pango" +File "etc/pango/pango.modules" + +CreateShortCut "$DESKTOP\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" "" + +CreateDirectory "$SMPROGRAMS\DVD-o-matic" +CreateShortCut "$SMPROGRAMS\DVD-o-matic\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 +CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic.lnk" "$INSTDIR\dvdomatic.exe" "" "$INSTDIR\dvdomatic.exe" 0 + +WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "DisplayName" "DVD-o-matic (remove only)" +WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "UninstallString" "$INSTDIR\Uninstall.exe" + +WriteUninstaller "$INSTDIR\Uninstall.exe" + +SectionEnd + + +Section "Uninstall" + +RMDir /r "$INSTDIR\*.*" +RMDir "$INSTDIR" +Delete "$DESKTOP\DVD-o-matic.lnk" +Delete "$SMPROGRAMS\DVD-o-matic\*.*" +RmDir "$SMPROGRAMS\DVD-o-matic" +DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\DVD-o-matic" +DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" + +SectionEnd +
\ No newline at end of file diff --git a/windows/wscript b/windows/wscript new file mode 100644 index 000000000..b9d1f3c9e --- /dev/null +++ b/windows/wscript @@ -0,0 +1,3 @@ +def build(bld): + bld.new_task_gen(features = 'subst', source = 'installer.nsi.in', target = 'installer.nsi', version = bld.env.VERSION) + @@ -6,6 +6,7 @@ VERSION = '0.30pre' def options(opt): opt.load('compiler_cxx') + opt.load('winres') opt.add_option('--debug-hash', action='store_true', default = False, help = 'print hashes of data at various points') opt.add_option('--enable-debug', action='store_true', default = False, help = 'build with debugging information and without optimisation') opt.add_option('--disable-gui', action='store_true', default = False, help = 'disable building of GUI tools') @@ -15,12 +16,14 @@ def options(opt): def configure(conf): conf.load('compiler_cxx') + conf.load('winres') conf.env.append_value('CXXFLAGS', ['-D__STDC_CONSTANT_MACROS', '-msse', '-mfpmath=sse', '-ffast-math', '-fno-strict-aliasing', '-Wall', '-Wno-attributes']) conf.env.append_value('CXXFLAGS', ['-DDVDOMATIC_VERSION="%s"' % VERSION]) if conf.options.target_windows: - conf.env.append_value('CXXFLAGS', '-DDVDOMATIC_WINDOWS') + conf.env.append_value('CXXFLAGS', ['-DDVDOMATIC_WINDOWS']) + conf.env.append_value('LINKFLAGS', '-mwindows') conf.options.disable_player = True conf.check(lib = 'ws2_32', uselib_store = 'WINSOCK2', msg = "Checking for library winsock2") boost_lib_suffix = '-mt' @@ -34,6 +37,7 @@ def configure(conf): conf.env.TARGET_WINDOWS = conf.options.target_windows conf.env.DISABLE_GUI = conf.options.disable_gui conf.env.DISABLE_PLAYER = conf.options.disable_player + conf.env.VERSION = VERSION if conf.options.disable_player: conf.env.append_value('CXXFLAGS', '-DDVDOMATIC_DISABLE_PLAYER') @@ -106,6 +110,8 @@ def build(bld): bld.recurse('src') bld.recurse('test') + if bld.env.TARGET_WINDOWS: + bld.recurse('windows') d = { 'PREFIX' : '${PREFIX' } @@ -141,3 +147,4 @@ def create_version_cc(version): except IOError: print('Could not open src/lib/version.cc for writing\n') sys.exit(-1) + |
