IOT-1072 Unfork libcoap: update forked headers
[platform/upstream/iotivity.git] / run.bat
1 @echo off
2 REM Helper script to build and run IoTivity on Windows
3 SETLOCAL ENABLEDELAYEDEXPANSION
4
5 if [%1]==[] goto USAGE
6
7 set IOTIVITY_DIR=%~dp0
8 set HOME=%USERPROFILE%
9
10 IF "%1" == "msys" (
11   set BUILD_MSYS="YES"
12   SHIFT
13 ) ELSE (
14   set BUILD_MSYS=
15 )
16
17 set CURRENT_ARG=%1
18 set SECOND_ARG=%2
19 set DEBUG=
20
21 if "!SECOND_ARG!"=="debug" (
22   set DEBUG="%ProgramFiles(x86)%\Windows Kits\10\Debuggers\x64\cdb.exe" -2 -c "g" 
23 )
24
25 REM We need to append the "PATH" so the octbstack.dll can be found by executables
26 IF "%BUILD_MSYS%" == "" (
27   set BUILD_DIR=out\windows\amd64\debug
28   set PATH=!PATH!;!IOTIVITY_DIR!!BUILD_DIR!;
29 ) ELSE (
30   set BUILD_DIR=out\msys_nt\x86_64\debug
31   set PATH=!PATH!;!BUILD_DIR!;C:\msys64\mingw64\bin
32 )
33
34 REM *** BUILD OPTIONS ***
35 set TARGET_OS=windows
36 set TARGET_ARCH=amd64
37 set SECURED=1
38 set TEST=1
39 set LOGGING=OFF
40 set WITH_RD=1
41 set ROUTING=EP
42 set WITH_UPSTREAM_LIBCOAP=0
43
44 set BUILD_OPTIONS= TARGET_OS=%TARGET_OS% TARGET_ARCH=%TARGET_ARCH% RELEASE=0 WITH_RA=0 TARGET_TRANSPORT=IP SECURED=%SECURED% WITH_TCP=0 BUILD_SAMPLE=ON LOGGING=%LOGGING% TEST=%TEST% WITH_RD=%WITH_RD% ROUTING=%ROUTING% WITH_UPSTREAM_LIBCOAP=%WITH_UPSTREAM_LIBCOAP%
45
46 REM Use MSVC_VERSION=12.0 for VS2013, or MSVC_VERSION=14.0 for VS2015.
47 REM If MSVC_VERSION has not been defined here, SCons chooses automatically a VS version.
48 IF NOT "%MSVC_VERSION%" == "" (
49   set BUILD_OPTIONS=%BUILD_OPTIONS% MSVC_VERSION=%MSVC_VERSION%
50 )
51
52 REM *** BUILD OPTIONS ***
53
54 if "!CURRENT_ARG!"=="server" (
55   cd %BUILD_DIR%\resource\examples
56   %DEBUG% simpleserver.exe
57 ) else if "!CURRENT_ARG!"=="client" (
58   cd %BUILD_DIR%\resource\examples
59   %DEBUG% simpleclient.exe
60 ) else if "!CURRENT_ARG!"=="serverhq" (
61   cd %BUILD_DIR%\resource\examples
62   %DEBUG% simpleserverHQ.exe
63 ) else if "!CURRENT_ARG!"=="clienthq" (
64   cd %BUILD_DIR%\resource\examples
65   %DEBUG% simpleclientHQ.exe
66 )else if "!CURRENT_ARG!"=="mediaclient" (
67   cd %BUILD_DIR%\resource\examples
68   %DEBUG% mediaclient.exe
69 ) else if "!CURRENT_ARG!"=="mediaserver" (
70   cd %BUILD_DIR%\resource\examples
71   %DEBUG% mediaserver.exe
72 ) else if "!CURRENT_ARG!"=="winuiclient" (
73   cd %BUILD_DIR%\resource\examples
74   %DEBUG% winuiclient.exe
75 ) else if "!CURRENT_ARG!"=="occlient" (
76   cd %BUILD_DIR%\resource\csdk\stack\samples\linux\SimpleClientServer
77   %DEBUG% occlientbasicops.exe -u 0 -t 3 -c 1
78 ) else if "!CURRENT_ARG!"=="ocserver" (
79   cd %BUILD_DIR%\resource\csdk\stack\samples\linux\SimpleClientServer
80   %DEBUG% ocserverbasicops.exe
81 ) else if "!CURRENT_ARG!"=="provclient" (
82   cd %BUILD_DIR%\resource\csdk\security\provisioning\sample
83   %DEBUG% provisioningclient.exe
84 ) else if "!CURRENT_ARG!"=="justworks" (
85   cd %BUILD_DIR%\resource\csdk\security\provisioning\sample
86   %DEBUG% sampleserver_justworks.exe
87 ) else if "!CURRENT_ARG!"=="test" (
88   %DEBUG% %BUILD_DIR%\resource\csdk\connectivity\test\catests.exe
89   %DEBUG% %BUILD_DIR%\resource\csdk\stack\test\stacktests.exe
90   %DEBUG% %BUILD_DIR%\resource\csdk\stack\test\cbortests.exe
91   %DEBUG% %BUILD_DIR%\resource\csdk\security\unittest\unittest.exe
92   %DEBUG% %BUILD_DIR%\resource\csdk\security\provisioning\unittest\unittest.exe
93 ) else if "!CURRENT_ARG!"=="build" (
94   echo Starting IoTivity build with these options:
95   echo   TARGET_OS=%TARGET_OS%
96   echo   TARGET_ARCH=%TARGET_ARCH%
97   echo   SECURED=%SECURED%
98   echo   TEST=%TEST%
99   echo   LOGGING=%LOGGING%
100   echo   WITH_RD=%WITH_RD%
101   echo   ROUTING=%ROUTING%
102   echo   WITH_UPSTREAM_LIBCOAP=%WITH_UPSTREAM_LIBCOAP%
103   echo.scons VERBOSE=1 %BUILD_OPTIONS%
104   scons VERBOSE=1 %BUILD_OPTIONS%
105 ) else if "!CURRENT_ARG!"=="clean" (
106   scons VERBOSE=1 %BUILD_OPTIONS% -c clean
107   rd /s /q out
108   del .sconsign.dblite
109   del extlibs\gtest\gtest*.lib
110   del extlibs\gtest\gtest-1.7.0\src\gtest*.obj
111 ) else if "!CURRENT_ARG!"=="cleangtest" (
112   rd /s /q extlibs\gtest\gtest-1.7.0
113   del extlibs\gtest\gtest-1.7.0.zip
114 ) else (
115     echo %0 - Script requires a valid argument!
116     goto :EOF
117 )
118
119 cd %IOTIVITY_DIR%
120
121 echo Done!
122
123 goto EOF
124
125 :USAGE
126 echo %0 - Helper to build/test iotivity.  Requires an argument.
127 echo Installation: Drop this into your iotivity root directory to use it.
128 echo.
129 echo. Usage examples:
130 echo   Launch SimpleClient with debugger:
131 echo      %0 client debug
132 echo.
133 echo   Launch SimpleServer:
134 echo      %0 server
135 echo.
136 echo   Launch WinUIClient built in msys:
137 echo      %0 msys winuiclient
138 echo.
139 echo   Build:
140 echo      %0 build
141 echo.
142 echo   Run all tests:
143 echo      %0 test
144 echo.
145 echo   Clean:
146 echo      %0 clean
147
148 :EOF