Add run.bat - build, run, debug helper script
authorDavid Antler <david.a.antler@intel.com>
Wed, 1 Jun 2016 23:22:23 +0000 (16:22 -0700)
committerDavid Antler <david.a.antler@intel.com>
Thu, 2 Jun 2016 19:43:51 +0000 (19:43 +0000)
Change-Id: Ide0ef8b6cdac86374cba6c3f9ac497a6f7588da8
Signed-off-by: David Antler <david.a.antler@intel.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/6031
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Dave Thaler <dthaler@microsoft.com>
run.bat [new file with mode: 0644]

diff --git a/run.bat b/run.bat
new file mode 100644 (file)
index 0000000..2714376
--- /dev/null
+++ b/run.bat
@@ -0,0 +1,129 @@
+@echo off
+REM Helper script to build and run IoTivity on Windows
+SETLOCAL ENABLEDELAYEDEXPANSION
+
+if [%1]==[] goto USAGE
+
+set IOTIVITY_DIR=%~dp0
+set HOME=%USERPROFILE%
+
+IF "%1" == "msys" (
+  set BUILD_MSYS="YES"
+  SHIFT
+) ELSE (
+  set BUILD_MSYS=
+)
+
+set CURRENT_ARG=%1
+set SECOND_ARG=%2
+set DEBUG=
+
+if "!SECOND_ARG!"=="debug" (
+  set DEBUG="%ProgramFiles(x86)%\Windows Kits\10\Debuggers\x64\cdb.exe" -2 -c "g" 
+)
+
+IF "%BUILD_MSYS%" == "" (
+  IF NOT "%VS140COMNTOOLS%" == "" (
+    CALL "%VS140COMNTOOLS%"vsvars32.bat
+  ) ELSE (
+    IF NOT "%VS120COMNTOOLS%" == "" (
+      CALL "%VS120COMNTOOLS%"vsvars32.bat
+      )
+    )
+
+  IF NOT "!VSINSTALLDIR!" == "" (
+      CALL "!VSINSTALLDIR!VC\vcvarsall.bat" amd64
+  ) ELSE (
+    @ECHO WARNING: Could not find vsvarsall.bat.
+    @ECHO WARNING: VISUAL STUDIO 2013/2015 DOES NOT APPEAR TO BE INSTALLED ON THIS MACHINE
+    GOTO :EOF
+  )
+)
+
+REM We need to append the "PATH" so the octbstack.dll can be found by executables
+IF "%BUILD_MSYS%" == "" (
+  set BUILD_DIR=out\windows\amd64\debug
+  set PATH=!PATH!;!BUILD_DIR!;
+) ELSE (
+  set BUILD_DIR=out\msys_nt\x86_64\debug
+  set PATH=!PATH!;!BUILD_DIR!;C:\msys64\mingw64\bin
+)
+
+REM *** BUILD OPTIONS ***
+set TARGET_OS=windows
+set TARGET_ARCH=amd64
+set SECURED=1
+set TEST=1
+set LOGGING=OFF
+set WITH_RD=1
+REM *** BUILD OPTIONS ***
+
+if "!CURRENT_ARG!"=="server" (
+  %DEBUG% %BUILD_DIR%\resource\examples\simpleserver.exe
+) else if "!CURRENT_ARG!"=="client" (
+  %DEBUG% %BUILD_DIR%\resource\examples\simpleclient.exe
+) else if "!CURRENT_ARG!"=="mediaclient" (
+  %DEBUG% %BUILD_DIR%\debug\resource\examples\mediaclient.exe
+) else if "!CURRENT_ARG!"=="mediaserver" (
+  %DEBUG% %BUILD_DIR%\resource\examples\mediaserver.exe
+) else if "!CURRENT_ARG!"=="winuiclient" (
+  %DEBUG% %BUILD_DIR%\resource\examples\winuiclient.exe
+) else if "!CURRENT_ARG!"=="occlient" (
+  %DEBUG% %BUILD_DIR%\resource\csdk\stack\samples\linux\SimpleClientServer\occlientbasicops.exe -u 0 -t 3 -c 1
+) else if "!CURRENT_ARG!"=="ocserver" (
+  %DEBUG% %BUILD_DIR%\resource\csdk\stack\samples\linux\SimpleClientServer\ocserverbasicops.exe
+) else if "!CURRENT_ARG!"=="test" (
+  %DEBUG% %BUILD_DIR%\resource\csdk\connectivity\test\catests.exe
+  %DEBUG% %BUILD_DIR%\resource\csdk\stack\test\stacktests.exe
+  %DEBUG% %BUILD_DIR%\resource\csdk\stack\test\cbortests.exe
+  %DEBUG% %BUILD_DIR%\resource\csdk\security\unittest\unittest.exe
+) else if "!CURRENT_ARG!"=="build" (
+  echo Starting IoTivity build with these options:
+  echo   TARGET_OS=%TARGET_OS%
+  echo   TARGET_ARCH=%TARGET_ARCH%
+  echo   SECURED=%SECURED%
+  echo   LOGGING=%LOGGING%
+  echo   WITH_RD=%WITH_RD%
+  CL.exe | findstr "Compiler Verison"
+  echo.scons VERBOSE=1 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%
+  scons VERBOSE=1 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%
+) else if "!CURRENT_ARG!"=="clean" (
+  scons VERBOSE=1 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% -c clean
+  rd /s /q out
+  del .sconsign.dblite
+) else if "!CURRENT_ARG!"=="cleangtest" (
+  rd /s /q extlibs\gtest\gtest-1.7.0
+  del extlibs\gtest\gtest-1.7.0.zip
+) else (
+    echo %0 - Script requires a valid argument!
+    goto :EOF
+)
+
+echo Done!
+
+goto EOF
+
+:USAGE
+echo %0 - Helper to build/test iotivity.  Requires an argument.
+echo Installation: Drop this into your iotivity root directory to use it.
+echo.
+echo. Usage examples:
+echo   Launch SimpleClient with debugger:
+echo      %0 client debug
+echo.
+echo   Launch SimpleServer:
+echo      %0 server
+echo.
+echo   Launch WinUIClient built in msys:
+echo      %0 msys winuiclient
+echo.
+echo   Build:
+echo      %0 build
+echo.
+echo   Run all tests:
+echo      %0 test
+echo.
+echo   Clean:
+echo      %0 clean
+
+:EOF