-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathrun_all_examples.cmd
More file actions
89 lines (53 loc) · 1.47 KB
/
Copy pathrun_all_examples.cmd
File metadata and controls
89 lines (53 loc) · 1.47 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
@echo off
SETLOCAL
SET SCRIPT_DIRECTORY=%~dp0
SET SCRIPT_PATH_DOC=%~n0[%~x0]
IF DEFINED SIS_CMAKE_BUILD_DIR (
SET CMAKE_DIR=%SIS_CMAKE_BUILD_DIR%
) ELSE (
SET CMAKE_DIR=%SCRIPT_DIRECTORY%_build
)
FOR %%a IN (%*) DO (
IF /I {--help}=={%%a} (
IF EXIST "%SCRIPT_DIRECTORY%.sis\script_info_lines.txt" (
type "%SCRIPT_DIRECTORY%.sis\script_info_lines.txt"
)
ECHO ^
Runs all ^(matching^) example programs ^
^
%SCRIPT_PATH_DOC% [ ... flags/options ... ] ^
^
Flags/options: ^
behaviour: ^
^
standard flags: ^
^
--help ^
displays this help and terminates ^
EXIT /B 0
) ELSE (
ECHO "%SCRIPT_DIRECTORY%: unrecognised argument '%%a'; use --help for usage" 1>&2
EXIT /B 1
)
)
if NOT EXIST "%CMAKE_DIR%" (
ECHO "CMake build directory '%CMAKE_DIR%' does not exist"
EXIT /B 1
)
SET "ProjectName="
FOR /F "usebackq delims=" %%p IN ("%SCRIPT_DIRECTORY%.sis\project_name.txt") DO SET "ProjectName=%%p"
IF NOT DEFINED ProjectName (
ECHO %SCRIPT_PATH_DOC%: could not read project name from .sis\project_name.txt 1>&2
EXIT /B 1
)
REM Examples that require human input may honour SIS_EXAMPLE_SMOKE for a
REM no-arg built-in tmpfile demo (see example.c.cstring_vector).
SET SIS_EXAMPLE_SMOKE=1
ECHO Running all %ProjectName% example programs
FOR /F "usebackq" %%f IN (`DIR /A:-D /B /S "%CMAKE_DIR%" ^| FINDSTR /I example.*\.exe$`) DO (
ECHO .
ECHO executing %%f
%%f
IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
)
ENDLOCAL