@echo off echo Zorba Windows Builder V1.0 echo Copyright 2006-2012 The FLWOR Foundation. echo. IF [%1] EQU [] ( echo SYNTAX: echo build [/branch ^] directory dependencies-dir echo WHERE: echo directory - is the path to compile. echo dependencies-dir - is the path to the unzipped dependencies. echo /branch ^ - if specified, will check out the named branch echo from launchpad into "directory" echo EXAMPLE: echo build /branch lp:~zorba-coders/zorba/trunk trunk C:\zorba\libraries echo The previous command will bring the trunk branch from Launchpad and echo will put it on a directory called trunk, echo then it will compile echo it using the libraries from C:\zorba\libraries GOTO:eof ) :: IMPORTANT :: Comment this line if you are running from the environment already (recommended) :: or setup a correct path for vcvars32.bat call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" IF [%1] EQU [/branch] ( SET branch=%2 SET directory=%~f3 SET dependencies=%~f4 ) ELSE ( SET directory=%~f1 SET dependencies=%~f2 ) :: No used now in this script set ZORBA_BUILD_TYPE=Release :: ** Paths set BUILD_PATH=%directory%\build set ZORBA_STORE_PATH=%BUILD_PATH%\src set ZORBA_JAVA_SWIG_BIN=%BUILD_PATH%\swig\java set ZORBA_BIN_PATH=%BUILD_PATH%\bin set JAVA_BUILD=%BUILD_PATH%\doc\java\examples\build :: Tools set CMAKE_BIN=%dependencies%\cmake-2.8.7\bin set Bazaar_BIN=%dependencies%\Bazaar :: Final path building for Zorba execution set ZPATH_EXEC=%CMAKE_BIN%;%ZORBA_BIN_PATH%;%ZORBA_STORE_PATH%;%ZORBA_JAVA_SWIG_BIN%;%JAVA_BUILD%;%Bazaar_BIN% :: Base libraries paths set ICU_PATH=%dependencies%\icu set ICONV_PATH=%dependencies%\iconv-1.9.2.win32 set LIBXML2_PATH=%dependencies%\libxml2-2.7.7.win32 set XERCESC_PATH=%dependencies%\xerces-c-3.1.1-x86-windows-vc-10.0 set ZLIB_PATH=%dependencies%\zlib-1.2.5 set TIDY_PATH=%dependencies%\tidy-060405-dll set JANSSON_PATH=%dependencies%\jansson set CURL_D_PATH=%dependencies%\libcurl\lib\DLL-Debug set CURL_PATH=%dependencies%\libcurl set OPENSSL_PATH=%dependencies%\openssl-1.0.0e\compiled\bin set LIBGEO_PATH=%dependencies%\geos-3.3.0\bin set LIBXSLT_PATH=%dependencies%\libxslt-1.1.26.win32\bin ::set GRAPHVIZ_PATH=%dependencies%\Graphviz 2.28\bin :: Final path building for Zorba libraries set ZPATH_LIBS=%ICU_PATH%;%ICONV_PATH%;%LIBXML2_PATH%;%XERCESC_PATH% set ZPATH_LIBS=%ZPATH_LIBS%;%ZLIB_PATH%;%TIDY_PATH%;%JANSSON_PATH% set ZPATH_LIBS=%ZPATH_LIBS%;%CURL_D_PATH%;%OPENSSL_PATH% set ZPATH_LIBS=%ZPATH_LIBS%;%LIBGEO_PATH%;%LIBXSLT_PATH% :: Path for library binaries set DOXYGEN_BIN=%dependencies%\doxygen-1.8 set ICU_BIN=%ICU_PATH%\bin set ICONV_BIN=%ICONV_PATH%\bin set LIBXML2_BIN=%LIBXML2_PATH%\bin set XERCESC_BIN=%XERCESC_PATH%\bin set ZLIB_BIN=%ZLIB_PATH%\bin set TIDY_BIN=%TIDY_PATH%\bin set JASSON_BIN=%JANSSON_PATH%\bin set PHP_BIN=%dependencies%\php-5.3.8\Release_TS set PHP_BINDING=C:\dev\zapi\build\swig\php\Release set RUBY_BIN=%dependencies%\ruby-1.9.3-p125\bin :: Final path building for Zorba library binaries set ZPATH_BINS=%ICU_BIN%;%ICONV_BIN%;%LIBXML2_BIN%;%XERCESC_BIN%;%TIDY_BIN% set ZPATH_BINS=%ZPATH_BINS%;%ZLIB_BIN%;%JASSON_BIN%;%PHP_BIN%;%PHP_BINDING% set ZPATH_BINS=%ZPATH_BINS%;%RUBY_BIN%;%DOXYGEN_BIN% :: Final environment path construction set path=%ZPATH_EXEC%;%ZPATH_LIBS%;%ZPATH_BINS%;%path% IF DEFINED branch ( echo Getting sources if available... echo. bzr branch %branch% %directory% ) cd %directory% md build cd build :: ** CMake variables set ICU_LIBRARY="%ICU_PATH%\lib\icuuc.lib" set ICU_DATA_LIBRARY="%ICU_PATH%\lib\icudt.lib" set ICU_I18N_LIBRARY="%ICU_PATH%\lib\icuin.lib" set ICU_INCLUDE="%ICU_PATH%\include" set ICONV_INCLUDE_DIR="%ICONV_PATH%\include" set ICONV_LIBRARY="%ICONV_PATH%\lib\iconv.lib" set LIBXML2_INCLUDE_DIR="%LIBXML2_PATH%\include" set LIBXML2_LIBRARIES="%LIBXML2_PATH%\lib\libxml2.lib" set XERCESC_INCLUDE="%XERCESC_PATH%\include" set XERCESC_LIBRARY="%XERCESC_PATH%\lib\xerces-c_3.lib" set LIBJANSSON_INCLUDE_DIR="%JANSSON_PATH%\src" set LIBJANSSON_LIBRARY="%JANSSON_PATH%\bin\jansson.lib" set LIBGEO_INCLUDE_DIR="%JANSSON_PATH%\src" set LIBGEO_LIBRARY="%JANSSON_PATH%\bin\geos.lib" set CURL_INCLUDE_DIR="%CURL_PATH%\include" set CURL_LIBRARY="%CURL_PATH%\lib\DLL-Debug\libcurld_imp.lib" set ICU_LIB=%ICU_PATH%\lib set ICONV_LIB=%ICONV_PATH%\lib set LIBXML2_LIB=%LIBXML2_PATH%\lib set XERCESC_LIB=%XERCESC_PATH%\lib :: Languages APIs set PHP5_INCLUDE_DIR="%dependencies%\php-5.3.8" set PHP5_LIBRARY="%dependencies%/php-5.3.8/Release_TS/php5ts.lib" set PHP5_BINARY_DIR="%dependencies%\php-5.3.8\Release_TS" set PYTHON_LIBRARIES="%dependencies%\python27\libs" set PYTHON_INCLUDE_DIR="%dependencies%\python27\include" set RUBY_EXECUTABLE="%dependencies%\ruby\bin\ruby.exe" set RUBY_LIBRARY="%dependencies%\ruby\lib\msvcrt-ruby18.lib" set RUBY_INCLUDE_DIR="%dependencies%\ruby\lib\ruby\1.8\i386-mswin32" :: This should detect all CMake variables, but doesn't set ZORBA_THIRD_PARTY_REQUIREMENTS="%dependencies%" :: Optional variables not activated ::-D ZORBA_PRECOMPILED_HEADERS=ON ::-D ZORBA_NO_FULL_TEXT=ON ::-D ZORBA_NO_ICU=ON ::-D ZORBA_VERIFY_PEER_SSL_CERTIFICATE=ON :: Optional targets for CMake :: "NMake Makefiles" :: "Visual Studio 10" echo. echo Building project... echo. "cmake" -G "NMake Makefiles" -D ZORBA_THIRD_PARTY_REQUIREMENTS=%dependencies% -D PHP5_BINARY_DIR=%PHP5_BINARY_DIR% -D PHP5_INCLUDE_DIR=%PHP5_INCLUDE_DIR% -D PHP5_LIBRARY=%PHP5_LIBRARY% -D RUBY_LIBRARY=%RUBY_LIBRARY% -D RUBY_EXECUTABLE=%RUBY_EXECUTABLE% -D RUBY_INCLUDE_DIR=%RUBY_INCLUDE_DIR% -D PYTHON_LIBRARIES=%PYTHON_LIBRARIES% -D PYTHON_INCLUDE_DIR=%PYTHON_INCLUDE_DIR% -D ZORBA_THIRD_PARTY_REQUIREMENTS=%ZORBA_THIRD_PARTY_REQUIREMENTS% -D CURL_LIBRARY=%CURL_LIBRARY% -D CURL_INCLUDE_DIR=%CURL_INCLUDE_DIR% -D Boost_INCLUDE_DIR=%Boost_INCLUDE_DIR% -D CMAKE_BUILD_TYPE=%ZORBA_BUILD_TYPE% -D ICU_LIBRARY=%ICU_LIBRARY% -D ICU_DATA_LIBRARY=%ICU_DATA_LIBRARY% -D ICU_I18N_LIBRARY=%ICU_I18N_LIBRARY% -D ICU_INCLUDE=%ICU_INCLUDE% -D ICONV_INCLUDE_DIR=%ICONV_INCLUDE_DIR% -D ICONV_LIBRARY=%ICONV_LIBRARY% -D LIBXML2_INCLUDE_DIR=%LIBXML2_INCLUDE_DIR% -D LIBXML2_LIBRARIES=%LIBXML2_LIBRARIES% -D XERCESC_INCLUDE=%XERCESC_INCLUDE% -D XERCESC_LIBRARY=%XERCESC_LIBRARY% .. echo. echo Compiling project... echo. nmake