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