-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathBuildDebug.bat
More file actions
154 lines (117 loc) · 2.71 KB
/
BuildDebug.bat
File metadata and controls
154 lines (117 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
title ToDoList_Dev Debug Build
ECHO OFF
CLS
ECHO ToDoList_Dev Debug Build
ECHO ========================
ECHO:
PUSHD %~dp0
SET REPO=%CD%
ECHO REPO = %REPO%
REM - WE USE FULL PATHS EVERYWHERE
IF NOT EXIST %REPO%\Core EXIT
IF NOT EXIST %REPO%\Plugins EXIT
REM - Use MSBuild for both core and plugins
SET MSBUILD="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"
ECHO MSBUILD = %MSBUILD%
ECHO:
IF NOT EXIST %MSBUILD% (
ECHO [41m Unable to locate MSBuild.exe!![0m
ECHO:
PAUSE
EXIT
)
REM - Core app
ECHO Building ToDoList Core
ECHO ======================
ECHO:
SET SOLUTION=%REPO%\Core\ToDoList_Core.sln
SET OUTPUT_FILE=%REPO%\Core\ToDoList\Unicode_Debug\Core_Build_Output.txt
ECHO SOLUTION = %SOLUTION%
MKDIR %REPO%\Core\ToDoList\Unicode_Debug 2> NUL
DEL %OUTPUT_FILE% 2> NUL
%MSBUILD% %SOLUTION% /t:Build /p:Configuration="Unicode Debug" /p:Platform="Win32" /m /v:normal > %OUTPUT_FILE%
ECHO:
REM - Check for compile errors
FINDSTR /C:"): error" %OUTPUT_FILE%
IF %errorlevel%==1 (
REM - Check for link errors
FINDSTR /C:": fatal error" %OUTPUT_FILE%
IF %errorlevel%==1 (
REM - Check for general errors
FINDSTR /C:"Build FAILED." %OUTPUT_FILE%
)
)
IF %errorlevel%==0 (
ECHO [41m Build FAILED[0m
ECHO:
REM Open the log
%OUTPUT_FILE%
PAUSE
EXIT
)
REM SUCCESS!
ECHO [42m Build SUCCEEDED[0m
REM Run units tests
ECHO:
ECHO Running Unit Tests
ECHO ==================
ECHO:
SET TDLTEST=%REPO%\Core\TDLTest\Unicode_Debug\TDLTest.exe
SET OUTPUT_FILE=%REPO%\Core\TDLTest\Unicode_Debug\Test_Output.txt
DEL %OUTPUT_FILE% 2> NUL
%TDLTEST% > %OUTPUT_FILE%
REM - Check for test errors
FINDSTR /C:"tests FAILED" %OUTPUT_FILE%
IF %errorlevel%==0 (
ECHO [41m Tests FAILED[0m
ECHO:
REM Open the log
%OUTPUT_FILE%
PAUSE
EXIT
)
REM - Check for test success
FINDSTR /C:"tests SUCCEEDED" %OUTPUT_FILE% > nul
IF %errorlevel%==1 (
ECHO [41m Test Results EMPTY[0m
ECHO:
PAUSE
EXIT
)
REM SUCCESS!
ECHO [42m Tests SUCCEEDED[0m
ECHO:
REM - Build plugins using MSBuild
ECHO Building ToDoList Plugins
ECHO =========================
ECHO:
SET SOLUTION=%REPO%\Plugins\ToDoList_Plugins.sln
SET OUTPUT_FILE=%REPO%\Plugins\Debug\Build_Output.txt
ECHO SOLUTION = %SOLUTION%
ECHO:
MKDIR %REPO%\Plugins\Debug 2> NUL
DEL %OUTPUT_FILE% 2> NUL
%MSBUILD% %SOLUTION% /t:Build /p:Configuration=Debug /p:Platform="Mixed Platforms" /m /v:normal > %OUTPUT_FILE%
REM - Check for compile errors
FINDSTR /C:"): error" %OUTPUT_FILE%
IF %errorlevel%==1 (
REM - Check for link errors
FINDSTR /C:": fatal error" %OUTPUT_FILE%
IF %errorlevel%==1 (
REM - Check for general errors
FINDSTR /C:"Build FAILED." %OUTPUT_FILE%
)
)
IF %errorlevel%==0 (
ECHO [41m Build FAILED[0m
ECHO:
REM Open the log
%OUTPUT_FILE%
PAUSE
EXIT
)
REM SUCCESS!
ECHO [42m Build SUCCEEDED[0m
ECHO:
PAUSE
POPD