mirror of https://github.com/vitalif/phantomjs
Add build script for Windows
parent
de2a19da9c
commit
0c8eb88c15
|
@ -0,0 +1,128 @@
|
||||||
|
@echo off
|
||||||
|
SETLOCAL EnableExtensions EnableDelayedExpansion
|
||||||
|
|
||||||
|
set BUILD_TYPE=release
|
||||||
|
if /i "%1" == "debug" (
|
||||||
|
SET BUILD_TYPE=debug
|
||||||
|
)
|
||||||
|
set ROOT_DIR=%CD%
|
||||||
|
set 3RD_PARTY_LIBRARIES_REPO_URL=https://github.com/Vitallium/phantomjs-3rdparty-win
|
||||||
|
set 3RD_PARTY_LIBRARIES_REPO_BRANCH=msvc2013
|
||||||
|
|
||||||
|
if /i BUILD_TYPE == "debug" (
|
||||||
|
set 3RD_PARTY_LIBRARIES_REPO_BRANCH=msvc2013_debug
|
||||||
|
)
|
||||||
|
|
||||||
|
set BUILD_DATESTAMP=%date:~-4,4%%date:~-7,2%%date:~-10,2%
|
||||||
|
set BUILD_TIMESTAMP=%time:~-11,2%%time:~-8,2%
|
||||||
|
|
||||||
|
:: replace leading space with 0
|
||||||
|
set BUILD_TIMESTAMP=%BUILD_TIMESTAMP: =0%
|
||||||
|
set QT_LOG_FILE=!ROOT_DIR!\build_qt_!BUILD_DATESTAMP!-!BUILD_TIMESTAMP!.log
|
||||||
|
set WEBKIT_LOG_FILE=!ROOT_DIR!\build_webkit_!BUILD_DATESTAMP!_!BUILD_TIMESTAMP!.log
|
||||||
|
set PHANTOMJS_LOG_FILE=!ROOT_DIR!\build_phantomjs_!BUILD_DATESTAMP!_!BUILD_TIMESTAMP!.log
|
||||||
|
set MAKE_TOOL=nmake
|
||||||
|
|
||||||
|
echo:
|
||||||
|
echo Build type: !BUILD_TYPE!
|
||||||
|
call :build
|
||||||
|
ENDLOCAL
|
||||||
|
|
||||||
|
@exit /B 0
|
||||||
|
|
||||||
|
rem ========================================================================================================
|
||||||
|
:build
|
||||||
|
SETLOCAL EnableExtensions EnableDelayedExpansion
|
||||||
|
set _3RDPARTY=!ROOT_DIR!\src\qt\3rdparty
|
||||||
|
|
||||||
|
for %%X in (git.exe) do (set GIT_FOUND=%%~$PATH:X)
|
||||||
|
if defined GIT_FOUND (
|
||||||
|
echo.
|
||||||
|
echo GIT found. Getting 3rd party libraries.
|
||||||
|
if not exist !_3RDPARTY! call git clone -b !3RD_PARTY_LIBRARIES_REPO_BRANCH! !3RD_PARTY_LIBRARIES_REPO_URL! !_3RDPARTY!
|
||||||
|
) else (
|
||||||
|
ECHO.
|
||||||
|
CALL :exitB "Git is missing! Can't proceed. Please install Git."
|
||||||
|
GOTO :eof
|
||||||
|
)
|
||||||
|
|
||||||
|
:: prepare 3rdparty libraries
|
||||||
|
:: setup INCLUDE and LIB environment variables
|
||||||
|
:: OpenSSL
|
||||||
|
set OPENSSL_DIR=!_3RDPARTY!\openssl
|
||||||
|
set OPENSSL_LIB=!OPENSSL_DIR!\lib
|
||||||
|
set OPENSSL_INCLUDE=!OPENSSL_DIR!\include
|
||||||
|
|
||||||
|
:: ICU
|
||||||
|
set ICU_DIR=!_3RDPARTY!\libicu
|
||||||
|
set ICU_LIB=!ICU_DIR!\lib
|
||||||
|
set ICU_INCLUDE=!ICU_DIR!\include
|
||||||
|
|
||||||
|
:: libxml
|
||||||
|
set LIBXML_DIR=!_3RDPARTY!\libxml
|
||||||
|
set LIBXML_LIB=!LIBXML_DIR!\lib
|
||||||
|
set LIBXML_INCLUDE=!LIBXML_DIR!\include\libxml2
|
||||||
|
|
||||||
|
:: sqlite
|
||||||
|
set SQLITE3SRCDIR=!ROOT_DIR!\src\qt\qtbase\src\3rdparty\sqlite
|
||||||
|
|
||||||
|
set LIB=!OPENSSL_LIB!;!ICU_LIB!;!LIBXML_LIB!;%LIB%
|
||||||
|
set INCLUDE=!OPENSSL_INCLUDE!;!ICU_INCLUDE!;!LIBXML_INCLUDE!;%INCLUDE%
|
||||||
|
set PATH=!_3RDPARTY!\gnuwin32\bin;%PATH%
|
||||||
|
|
||||||
|
echo LIB: %LIB%
|
||||||
|
echo INCLUDE: %INCLUDE%
|
||||||
|
|
||||||
|
for %%X in (jom.exe) do (set JOMFOUND=%%~$PATH:X)
|
||||||
|
if defined JOMFOUND (
|
||||||
|
set MAKE_TOOL=jom
|
||||||
|
) else (
|
||||||
|
set MAKE_TOOL=nmake
|
||||||
|
)
|
||||||
|
|
||||||
|
pushd !ROOT_DIR!\src\qt
|
||||||
|
call preconfig.cmd !BUILD_TYPE! 2>&1 >> !QT_LOG_FILE!
|
||||||
|
popd
|
||||||
|
|
||||||
|
set PATH=!ROOT_DIR!\src\qt\qtbase\bin;%PATH%
|
||||||
|
for %%X in (qmake.exe) do (set QMAKE_FOUND=%%~$PATH:X)
|
||||||
|
if defined QMAKE_FOUND (
|
||||||
|
echo.
|
||||||
|
echo qmake found. Building QtWebkit
|
||||||
|
) else (
|
||||||
|
ECHO.
|
||||||
|
CALL :exitB "qmake.exe is missing! Can't proceed."
|
||||||
|
GOTO :eof
|
||||||
|
)
|
||||||
|
|
||||||
|
pushd !ROOT_DIR!\src\qt\qtwebkit
|
||||||
|
call qmake.exe
|
||||||
|
%MAKE_TOOL% %BUILD_TYPE% 2>&1 >> !WEBKIT_LOG_FILE!
|
||||||
|
popd
|
||||||
|
|
||||||
|
pushd !ROOT_DIR!\src
|
||||||
|
call qmake.exe
|
||||||
|
%MAKE_TOOL% %BUILD_TYPE% 2>&1 >> !PHANTOMJS_LOG_FILE!
|
||||||
|
popd
|
||||||
|
if EXIST !ROOT_DIR!\bin\phantomjs.exe (
|
||||||
|
echo.
|
||||||
|
echo Build has finished
|
||||||
|
echo.
|
||||||
|
) else (
|
||||||
|
echo:
|
||||||
|
echo Unable to find phantomjs.exe. Please, check log files:
|
||||||
|
echo Qt: !QT_LOG_FILE!
|
||||||
|
echo Webkit: !WEBKIT_LOG_FILE!
|
||||||
|
echo PhantomJS: !PHANTOMJS_LOG_FILE!
|
||||||
|
echo:
|
||||||
|
)
|
||||||
|
EXIT /b
|
||||||
|
|
||||||
|
rem ========================================================================================================
|
||||||
|
:: %1 an error message
|
||||||
|
:exitB
|
||||||
|
echo:
|
||||||
|
echo Error: %1
|
||||||
|
echo:
|
||||||
|
echo Contact vitaliy.slobodin@gmail.com
|
||||||
|
@exit /B 0
|
Loading…
Reference in New Issue