diff --git a/Tools/generate_code.cmd b/Tools/generate_code.cmd index fc6d177..612beed 100644 --- a/Tools/generate_code.cmd +++ b/Tools/generate_code.cmd @@ -5,16 +5,16 @@ setlocal enabledelayedexpansion set INPUT_PROTO_PATH=%cd% ::make sure input proto files exist -set INPUT_PROTO_FILE=%1 -if not exist %INPUT_PROTO_FILE% ( +set INPUT_PROTO_FILE=%~1 +if not exist "%INPUT_PROTO_FILE%" ( echo Input proto file '%INPUT_PROTO_FILE%' not exist! pause exit /b 1 ) ::make sure output path exist -set OUTPUT_PATH=%2 -if not exist %OUTPUT_PATH% ( +set OUTPUT_PATH=%~2 +if not exist "%OUTPUT_PATH%" ( echo Output path '%OUTPUT_PATH%' not exist! pause exit /b 1 @@ -25,6 +25,15 @@ pushd %~dp0\.. set TL_UE_PLUGIN_PATH=%cd% popd +::get additional includes +set INCLUDES= +:includes +if not [%3]==[] ( + set INCLUDES=%INCLUDES% -I "%~3" + shift + goto :includes +) + set TURBOLINK_PLUGIN_PATH=%TL_UE_PLUGIN_PATH%\Tools\protoc-gen-turbolink.exe set PROTOC_EXE_PATH=%TL_UE_PLUGIN_PATH%\Source\ThirdParty\protobuf\bin\protoc.exe set PROTOBUF_INC_PATH=%TL_UE_PLUGIN_PATH%\Source\ThirdParty\protobuf\include @@ -32,21 +41,21 @@ set GRPC_CPP_PLUGIN_EXE_PATH=%TL_UE_PLUGIN_PATH%\Source\ThirdParty\grpc\bin\grpc set FIX_PROTO_CPP=%TL_UE_PLUGIN_PATH%\Tools\fix_proto_cpp.txt set FIX_PROTO_H=%TL_UE_PLUGIN_PATH%\Tools\fix_proto_h.txt set CPP_OUTPUT_PATH=%OUTPUT_PATH%\Private\pb -if not exist %CPP_OUTPUT_PATH% mkdir %CPP_OUTPUT_PATH% +if not exist "%CPP_OUTPUT_PATH%" mkdir "%CPP_OUTPUT_PATH%" :: Print Variables for debugging -echo Input proto file: %INPUT_PROTO_FILE% -echo Output path: %OUTPUT_PATH% - -echo TURBOLINK_PLUGIN_PATH=%TURBOLINK_PLUGIN_PATH% -echo PROTOC_EXE_PATH=%PROTOC_EXE_PATH% -echo PROTOBUF_INC_PATH=%PROTOBUF_INC_PATH% -echo GRPC_CPP_PLUGIN_EXE_PATH=%GRPC_CPP_PLUGIN_EXE_PATH% -echo FIX_PROTO_CPP=%FIX_PROTO_CPP% -echo FIX_PROTO_H=%FIX_PROTO_H% -echo CPP_OUTPUT_PATH=%CPP_OUTPUT_PATH% - -echo Checking existence of files or directories... +@REM echo Input proto file: %INPUT_PROTO_FILE% +@REM echo Output path: %OUTPUT_PATH% +@REM +@REM echo TURBOLINK_PLUGIN_PATH=%TURBOLINK_PLUGIN_PATH% +@REM echo PROTOC_EXE_PATH=%PROTOC_EXE_PATH% +@REM echo PROTOBUF_INC_PATH=%PROTOBUF_INC_PATH% +@REM echo GRPC_CPP_PLUGIN_EXE_PATH=%GRPC_CPP_PLUGIN_EXE_PATH% +@REM echo FIX_PROTO_CPP=%FIX_PROTO_CPP% +@REM echo FIX_PROTO_H=%FIX_PROTO_H% +@REM echo CPP_OUTPUT_PATH=%CPP_OUTPUT_PATH% +@REM +@REM echo Checking existence of files or directories... set "variables=TURBOLINK_PLUGIN_PATH PROTOC_EXE_PATH PROTOBUF_INC_PATH GRPC_CPP_PLUGIN_EXE_PATH FIX_PROTO_CPP FIX_PROTO_H CPP_OUTPUT_PATH" @@ -57,7 +66,7 @@ for %%v in (%variables%) do ( echo !currentVar! not found at !currentVar! set "errorFlag=1" ) ELSE ( - echo !currentVar! exists at !currentVar! +@REM echo !currentVar! exists at !currentVar! ) ) @@ -70,10 +79,11 @@ if !errorFlag! equ 1 ( "%PROTOC_EXE_PATH%" ^ --proto_path="%PROTOBUF_INC_PATH%" --proto_path="%INPUT_PROTO_PATH%" ^ --cpp_out="%CPP_OUTPUT_PATH%" ^ - --plugin=protoc-gen-grpc="%GRPC_CPP_PLUGIN_EXE_PATH%" --grpc_out=%CPP_OUTPUT_PATH% ^ + --plugin=protoc-gen-grpc="%GRPC_CPP_PLUGIN_EXE_PATH%" --grpc_out="%CPP_OUTPUT_PATH%" ^ --plugin=protoc-gen-turbolink="%TURBOLINK_PLUGIN_PATH%" --turbolink_out="%OUTPUT_PATH%" ^ --turbolink_opt="GenerateJsonCode=true" ^ - %INPUT_PROTO_FILE% + %INCLUDES% ^ + "%INPUT_PROTO_FILE%" :: fix protobuf compile warning call :FixCompileWarning "%FIX_PROTO_H%" %CPP_OUTPUT_PATH%\%INPUT_PROTO_FILE% "pb.h"