1echo off
2
3echo -------------------------------------------------------------------------------------
4echo -
5echo Usage build.bat devel/install
6echo     devel   - Builds Visual Studio project files for development on LyX
7echo     install - Builds Visual Studio project files with all enabled for installation
8echo
9echo -------------------------------------------------------------------------------------
10echo -
11echo Call this script from a build directory or set variables (or edit this file)
12echo     LYX_SOURCE
13echo     LXY_BUILD
14echo
15echo Be sure you've set qmake in PATH.
16echo -
17echo GNUWin32 will be downloaded if you don't set the variable GNUWIN32_DIR
18echo -------------------------------------------------------------------------------------
19echo -
20echo -
21
22if [%1]==[] (
23	echo ERROR: no options.
24    echo Exiting now.
25	goto :eof
26)
27
28REM Uncomment the following line if you want to compile in parallel.
29REM This uses N cl.exe processes, where N is the number of cores.
30set CL=/MP
31
32REM Save path
33set CALLED_FROM=%CD%
34
35REM Edit pathes here or set the environment variables on your system.
36set CMAKE_PATH="C:\Program Files\CMake\bin"
37set QT_PATH="C:\Qt\Qt5.9.4\5.9.4\msvc2015"
38set GNUWIN32_DIR="D:\LyXGit\Master\lyx-windows-deps-msvc2015"
39set LYX_SOURCE="D:\LyXGit\2.3.x"
40set LYX_BUILD="D:\LyXGit\2.3.x\compile-2015"
41
42if [%LYX_SOURCE%]==[] (
43	set LYX_SOURCE=%~DP0\..\..
44)
45echo LyX source: %LYX_SOURCE%
46
47if [%LYX_BUILD%]==[] (
48	set LYX_BUILD=%CD%
49)
50echo LyX build : %LYX_BUILD%
51
52if [%GNUWIN32_DIR%]==[] (
53	echo GNUWIN32_DIR not set.
54	echo Downloading win32 deps.
55	set DEPENDENCIES_DOWNLOAD="-DLYX_DEPENDENCIES_DOWNLOAD=1"
56) else set PATH=%GNUWIN32_DIR%\bin;%PATH%
57echo GNUWIN32_DIR : %GNUWIN32_DIR%
58
59if [%QT_PATH%]==[] (
60	echo QT_PATH not set.
61) else set PATH=%QT_PATH%;%PATH%
62echo QT_PATH : %QT_PATH%
63
64if [%CMAKE_PATH%]==[] (
65	echo CMAKE_PATH not set.
66) else set PATH=%CMAKE_PATH%;%PATH%
67echo CMAKE_PATH : %CMAKE_PATH%
68
69if not exist %LYX_BUILD% (
70	echo creating "%LYX_BUILD%"
71	mkdir "%LYX_BUILD%"
72	if not exist %LYX_BUILD% (
73		echo Exiting script.
74		goto :eof
75	)
76)
77
78cd "%LYX_BUILD%"
79
80REM start with a new cmake run
81::del %LYX_BUILD%\CMakeCache.txt
82
83if "%1%" == "devel" (
84	REM Build solution to develop LyX
85	REM you can add the option "-GNinja" for a faster compilation
86	cmake %LYX_SOURCE% -G"Visual Studio 14 2015" -DCMAKE_PREFIX_PATH=%QT_PATH% -DLYX_USE_QT=QT5 -DLYX_ENABLE_EXPORT_TESTS=0 -DLYX_MERGE_FILES=0 -DLYX_NLS=1 -DLYX_INSTALL=0 -DLYX_RELEASE=0 -DLYX_CONSOLE=ON -DLYX_3RDPARTY_BUILD=1 %DEPENDENCIES_DOWNLOAD%
87	msbuild src\LyX.vcxproj /p:Configuration=Debug
88	msbuild src\tex2lyx\tex2lyx.vcxproj /p:Configuration=Debug
89)
90
91if "%1%" == "install" (
92	REM Build solution to develop LyX
93	REM set -DLYX_MERGE_REBUILD and -DLYX_MERGE_FILES to 1 for a version released with an installer
94	cmake %LYX_SOURCE% -GNinja -G"Visual Studio 14 2015" -DCMAKE_PREFIX_PATH=%QT_PATH% -DLYX_USE_QT=QT5 -DLYX_MERGE_REBUILD=0 -DLYX_MERGE_FILES=0 -DLYX_NLS=1 -DLYX_INSTALL=1 -DLYX_RELEASE=1 -DLYX_CONSOLE=OFF %DEPENDENCIES_DOWNLOAD%
95	msbuild INSTALL.vcxproj /p:Configuration=Release
96)
97
98REM go back to the dir where the script was called from
99cd /D %CALLED_FROM%
100
101:eof
102