summaryrefslogtreecommitdiff
path: root/compile_windows2.cmd
diff options
context:
space:
mode:
authorMateusz Łukasik <mati75@linuxmint.pl>2016-06-15 20:23:58 +0200
committerMateusz Łukasik <mati75@linuxmint.pl>2016-06-15 20:23:58 +0200
commit42be0eb4f1d7a25dca97e8e2eb4ec4d03b7931fb (patch)
treefae3347b0c924378c57862feea2708766d159771 /compile_windows2.cmd
parent1a2f0c9c1087899a00298db8fa70518d3c1e69f8 (diff)
Imported Upstream version 16.6.0~ds0
Diffstat (limited to 'compile_windows2.cmd')
-rw-r--r--compile_windows2.cmd257
1 files changed, 257 insertions, 0 deletions
diff --git a/compile_windows2.cmd b/compile_windows2.cmd
new file mode 100644
index 0000000..7a0a9ae
--- /dev/null
+++ b/compile_windows2.cmd
@@ -0,0 +1,257 @@
+@echo off
+
+:: Reset working dir especially when using 'Run as administrator'
+@cd /d "%~dp0"
+
+:: ::
+:: Command-line Parsing ::
+:: ::
+
+set start_dir=%~dp0
+
+set build_themes=yes
+set build_skins=yes
+set build_pe=
+set runinstcmd=yes
+set runsvnup=yes
+
+set qmake_defs=
+set use_svn_revision=
+
+set config_file=setup\scripts\win32inst_vars.cmd
+
+:: Default prefix
+for /f %%i in ("setup") do set BUILD_PREFIX=%%~fi
+
+:: Default source dirs
+set SMPLAYER_SKINS_DIR=..\smplayer-skins
+set SMPLAYER_THEMES_DIR=..\smplayer-themes
+
+rem set SMPLAYER_SKINS_DIR=..\..\smplayer-skins\trunk
+rem set SMPLAYER_THEMES_DIR=..\..\smplayer-themes\trunk
+
+:cmdline_parsing
+if "%1" == "" goto build_env_info
+if "%1" == "-h" goto usage
+if "%1" == "-prefix" goto prefixTag
+if "%1" == "-nothemes" goto cfgThemes
+if "%1" == "-noskins" goto cfgSkins
+if "%1" == "-noinst" goto cfgInst
+if "%1" == "-noupdate" goto cfgUpdate
+if "%1" == "-portable" goto cfgPE
+
+echo Unknown option: "%1"
+echo.
+goto usage
+
+:usage
+echo Usage: compile_windows2.cmd [-prefix (dir)]
+echo [-portable]
+echo [-noinst] [-nothemes] [-noskins] [-noupdate]
+echo.
+echo Configuration:
+echo -h display this help and exit
+echo.
+echo -prefix (dir) prefix directory for installation
+echo (default prefix: %build_prefix%)
+echo.
+echo Optional Features:
+echo -portable Compile portable executables
+echo.
+echo Miscellaneous Options:
+echo -noinst Do not run installation script
+echo -nothemes Do not compile themes
+echo -noskins Do not compile skins
+echo -noupdate Do not update before compiling
+echo.
+goto end
+
+:prefixTag
+
+shift
+set build_prefix=%1
+shift
+
+goto cmdline_parsing
+
+:cfgPE
+
+set qmake_defs=%qmake_defs% PORTABLE_APP
+set build_pe=yes
+set build_themes=
+set build_skins=
+set runinstcmd=
+shift
+
+goto cmdline_parsing
+
+:cfgInst
+
+set runinstcmd=
+shift
+
+goto cmdline_parsing
+
+:cfgUpdate
+set runsvnup=
+shift
+
+goto cmdline_parsing
+
+:cfgThemes
+set build_themes=
+shift
+
+goto cmdline_parsing
+
+:cfgSkins
+set build_skins=
+shift
+
+goto cmdline_parsing
+
+:: ::
+:: Build Environment Info ::
+:: ::
+
+:build_env_info
+
+:: Command-line Debugging
+REM echo build_themes: %build_themes%
+REM echo build_skins: %build_skins%
+REM echo build_pe: %build_pe%
+REM echo runinstcmd: %runinstcmd%
+REM echo runsvnup: %runsvnup%
+REM echo qmake_defs: %qmake_defs%
+REM echo use_svn_revision: %use_svn_revision%
+REM goto end
+
+:: GCC Target
+for /f "usebackq tokens=2" %%i in (`"gcc -v 2>&1 | find "Target""`) do set gcc_target=%%i
+if [%gcc_target%]==[x86_64-w64-mingw32] (
+ set X86_64=yes
+) else if [%gcc_target%]==[i686-w64-mingw32] (
+ set X86_64=no
+) else if [%gcc_target%]==[mingw32] (
+ set X86_64=no
+)
+
+:: MinGW locations from GCC
+for /f "usebackq tokens=*" %%d in (`where gcc.exe`) do set MINGW_DIR=%%d
+set MINGW_DIR=%MINGW_DIR:~0,-8%
+
+:: Qt locations from QMAKE
+for /f "tokens=*" %%i in ('qmake -query QT_INSTALL_PREFIX') do set QT_DIR=%%i
+for /f "tokens=*" %%i in ('qmake -query QT_VERSION') do set QT_VER=%%i
+set QT_DIR=%QT_DIR:/=\%
+
+set SMPLAYER_DIR=%start_dir%
+:: Does string have a trailing slash? if so remove it
+if %SMPLAYER_DIR:~-1%==\ set SMPLAYER_DIR=%SMPLAYER_DIR:~0,-1%
+
+:: Relative paths into full paths
+for /f %%i in ("%SMPLAYER_THEMES_DIR%") do set SMPLAYER_THEMES_DIR=%%~fi
+for /f %%i in ("%SMPLAYER_SKINS_DIR%") do set SMPLAYER_SKINS_DIR=%%~fi
+
+:: Try to parse if debug or release is uncommented in smplayer.pro
+findstr /b /c:"\#CONFIG \+\= release" src\smplayer.pro 2>&1 >nul && (set debug=yes) || (set debug=)
+findstr /b /c:"\#CONFIG \+\= debug" src\smplayer.pro 2>&1 >nul && (set debug=) || (set debug=yes)
+
+:: Create var batch file
+echo set SMPLAYER_DIR=%SMPLAYER_DIR%>%config_file%
+echo set SMPLAYER_THEMES_DIR=%SMPLAYER_THEMES_DIR%>>%config_file%
+echo set SMPLAYER_SKINS_DIR=%SMPLAYER_SKINS_DIR%>>%config_file%
+echo set QT_DIR=%QT_DIR%>>%config_file%
+echo set QT_VER=%QT_VER%>>%config_file%
+echo set MINGW_DIR=%MINGW_DIR%>>%config_file%
+echo set X86_64=%X86_64%>>%config_file%
+echo set BUILD_PREFIX=%BUILD_PREFIX%>>%config_file%
+echo set DEBUG=%DEBUG%>>%config_file%
+
+:: ::
+:: Main Compile Script ::
+:: ::
+
+if [%runsvnup%]==[yes] (
+ svn up "%SMPLAYER_DIR%" "%SMPLAYER_THEMES_DIR%" "%SMPLAYER_SKINS_DIR%"
+ echo.
+)
+
+call getrev2.cmd
+
+cd dxlist
+if [%build_pe%]==[yes] ( goto skip_dxlist )
+for %%F in (directx\d3dtypes.h directx\ddraw.h directx\dsound.h) do if not exist %%F goto skip_dxlist
+qmake
+mingw32-make
+
+if errorlevel 1 echo Dxlist failed to compile.
+
+:skip_dxlist
+
+cd ..\zlib
+mingw32-make -fwin32\makefile.gcc
+
+if errorlevel 1 goto end
+
+cd ..\src
+lrelease smplayer.pro
+qmake "DEFINES += %qmake_defs%"
+mingw32-make
+
+if errorlevel 1 goto end
+
+:: Themes
+if [%build_themes%]==[yes] (
+
+ cd "%SMPLAYER_THEMES_DIR%"
+ call clean_windows.cmd
+ cd themes && mingw32-make
+
+ if errorlevel 1 echo Failed to compile themes.
+
+)
+
+:: Skins
+if [%build_skins%]==[yes] (
+
+ cd "%SMPLAYER_SKINS_DIR%"
+ call clean_windows.cmd
+ cd themes && mingw32-make
+
+ if errorlevel 1 echo Failed to compile skins.
+
+)
+
+:: Installation
+if [%runinstcmd%]==[yes] (
+ cd "%SMPLAYER_DIR%\setup\scripts"
+ call install_smplayer2.cmd
+)
+
+if [%build_pe%]==[yes] (
+ mkdir "%BUILD_PREFIX%\portable"
+
+ if [%X86_64%]==[yes] (
+ copy /y "%SMPLAYER_DIR%\src\release\smplayer.exe" "%BUILD_PREFIX%\portable\smplayer-portable64.exe"
+ copy /y "%SMPLAYER_DIR%\src\debug\smplayer.exe" "%BUILD_PREFIX%\portable\smplayer-portable64d.exe"
+ ) else (
+ copy /y "%SMPLAYER_DIR%\src\release\smplayer.exe" "%BUILD_PREFIX%\portable\smplayer-portable.exe"
+ copy /y "%SMPLAYER_DIR%\src\debug\smplayer.exe" "%BUILD_PREFIX%\portable\smplayer-portabled.exe"
+ )
+)
+
+:: Return to starting directory
+cd /d "%start_dir%"
+
+:end
+
+:: Reset
+set startdir=
+set build_themes=
+set build_skins=
+set build_pe=
+set runinstcmd=
+set runsvnup=
+set qmake_defs=
+set use_svn_revision=