173 lines
8 KiB
Batchfile
173 lines
8 KiB
Batchfile
@echo off
|
|
|
|
set CONFIGURATION_DIR=%~dp0..\_configurations
|
|
set BUILD_ERROR=0
|
|
|
|
:CLEAN
|
|
del /F "%~dp0\build.*?.out" >nul 2>&1
|
|
del /F "%~dp0\builds.*?.out" >nul 2>&1
|
|
|
|
:BUILD
|
|
|
|
if exist %CONFIGURATION_DIR%\platformsConfiguration (
|
|
copy /y %CONFIGURATION_DIR%\platformsConfiguration %CONFIGURATION_DIR%\platformsConfiguration.bat
|
|
call %CONFIGURATION_DIR%\platformsConfiguration.bat
|
|
del /q /f %CONFIGURATION_DIR%\platformsConfiguration.bat
|
|
|
|
Setlocal EnableDelayedExpansion
|
|
if "!platformCount!"=="" (
|
|
echo.
|
|
echo. ##############################################################################
|
|
echo.
|
|
echo. One platform must be at least targeted. Edit the file platformsConfiguration at $[packageRoot]/_configurations
|
|
echo.
|
|
echo. ##############################################################################
|
|
set BUILD_ERROR=5
|
|
)
|
|
Setlocal DisableDelayedExpansion
|
|
|
|
goto:EXIT
|
|
) else (
|
|
goto:PROMPT
|
|
)
|
|
|
|
:PROMPT
|
|
|
|
if [%1] == [] (
|
|
REM Without parameter, we ask choice for modules activation
|
|
set /p modules_activation="Enter TRUE or FALSE to define the default state(ON or OFF) for Ubiservices SDK's modules: "
|
|
goto:CHECK_MODULE_ACTIVATION
|
|
)
|
|
|
|
echo Command line parameter:%1
|
|
|
|
REM With parameter, we use provided selection
|
|
if %1 == modules_all_on (
|
|
set modules_activation=TRUE
|
|
goto:CHECK_MODULE_ACTIVATION
|
|
)
|
|
|
|
if %1 == modules_all_off (
|
|
set modules_activation=FALSE
|
|
goto:CHECK_MODULE_ACTIVATION
|
|
)
|
|
|
|
REM Provided parameter is invalid !!!
|
|
echo. There was an error with the input. The only command line accepted parameter are modules_all_on or modules_all_off.
|
|
echo. Ex: build_ubiservices.bat modules_all_on
|
|
set BUILD_ERROR=5
|
|
goto:EXIT
|
|
|
|
:CHECK_MODULE_ACTIVATION
|
|
|
|
if not "%modules_activation%"=="TRUE" (
|
|
if not "%modules_activation%"=="FALSE" (
|
|
echo. There was an error with the input. The only values accepted are TRUE or FALSE.
|
|
set BUILD_ERROR=5
|
|
goto:EXIT
|
|
)
|
|
)
|
|
|
|
goto:GENERATE
|
|
|
|
:GENERATE
|
|
|
|
mkdir %CONFIGURATION_DIR%
|
|
|
|
copy /Y %~dp0private\platformsConfiguration %CONFIGURATION_DIR%
|
|
copy /Y %~dp0private\cmake\productConfiguration.template.cmake %CONFIGURATION_DIR%\productConfiguration.cmake
|
|
copy /Y %~dp0private\cmake\harbourConfiguration.template.cmake %CONFIGURATION_DIR%\harbourConfiguration.cmake
|
|
|
|
attrib -r %CONFIGURATION_DIR%\productConfiguration.cmake
|
|
attrib -r %CONFIGURATION_DIR%\harbourConfiguration.cmake
|
|
attrib -r %CONFIGURATION_DIR%\platformsConfiguration
|
|
|
|
set US_SED_EXE=%~dp0..\external\tools\sed\sed
|
|
|
|
pushd %CONFIGURATION_DIR%
|
|
|
|
rem The following options are flags for the _configuration/productConfiguration.cmake file
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_EXTERNAL_HARBOUR_CONFIGURATION}//g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_PRIVATE_HARBOUR_CONFIGURATION_PATH}//g productConfiguration.cmake
|
|
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_LOG_ENABLED_RETAIL}/FALSE/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_HIDE_DEBUG_INFO_IN_RETAIL}/FALSE/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_STEAM_AUTHENTICATION}/FALSE/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_ENABLE_UBIMOBILE}/FALSE/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_PC_USES_UNMANAGED_PRIMARY_STORE}/FALSE/g productConfiguration.cmake
|
|
|
|
rem The following options are flags for the unity configuration inside the configuration/productConfiguration.cmake file
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_UNITY3D_PATH}/FALSE/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_PRIVATE_UNIY3D_PATH}//g productConfiguration.cmake
|
|
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_APPLICATION}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_BATTLEPASS}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_BLOCKLIST}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_CHALLENGE}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_CLUB}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_ENTITY}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_FRIEND}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_GAMESPLAYED}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_LEADERBOARD}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_LOCALIZATION}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_MATCHMAKING}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_MODERATION}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_NEWS}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_PERSONA}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_PLAYER_ONLINE_STATUS}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_PLAYERREPORTS}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_PROFILE}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_RECOMMENDATIONS}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_SECONDARYSTORE_INSTANTIATION}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_STATS}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_STORE}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_TLOG}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_UGC}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_UPLAY}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_USER}/%modules_activation%/g productConfiguration.cmake
|
|
%US_SED_EXE% -i s/${US_USE_PRIVATE_US_MODULE_VOICECHAT}/%modules_activation%/g productConfiguration.cmake
|
|
|
|
rem The following options are flags for the _configuration/harbourConfiguration.cmake file
|
|
rem ---- EAL configuration ----
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_BUILD_HARBOUR_EAL}//g harbourConfiguration.cmake
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_EAL_INCLUDE_DIRECTORY}//g harbourConfiguration.cmake
|
|
|
|
rem ---- libraries(ubiservices, rdv, harbourEal, etc) outputs ----
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_LIB_OUTPUT_DIRECTORY}//g harbourConfiguration.cmake
|
|
|
|
rem ---- sharpmake configuration ----
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_GENERATE_SHARPMAKE_INTERFACES}//g harbourConfiguration.cmake
|
|
|
|
rem ---- OpenSSL: configuration ----
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_USE_DEPRECATED_OPENSSL_1_0_2}//g harbourConfiguration.cmake
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_USE_LATEST_OPENSSL_WITH_QUIC_SUPPORT}//g harbourConfiguration.cmake
|
|
|
|
rem ---- blob and unicode configuration ----
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_USE_BLOB}/TRUE/g harbourConfiguration.cmake
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_USE_UNICODE}/FALSE/g harbourConfiguration.cmake
|
|
|
|
rem ---- XBoxOne C++11 live sdk ----
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_XBOXLIVESDKCPP_INCLUDE_DIR}//g harbourConfiguration.cmake
|
|
%US_SED_EXE% -i s/${HARBOUR_PRIVATE_XBOXLIVESDKCPP_CPPRESTSDK_INCLUDE_DIR}//g harbourConfiguration.cmake
|
|
|
|
del /F "sed*"
|
|
|
|
popd
|
|
|
|
echo. ##############################################################################
|
|
echo.
|
|
echo. Generating platformsConfiguration, productConfiguration.cmake, harbourConfiguration.cmake at location : %CONFIGURATION_DIR%
|
|
echo. To run this build script again , these configuration files must be edited properly.
|
|
echo.
|
|
echo. ##############################################################################
|
|
|
|
set BUILD_ERROR=5
|
|
goto:EXIT
|
|
|
|
:EXIT
|
|
echo.
|
|
echo ... Exit build process (%BUILD_ERROR%)
|
|
echo.
|
|
|
|
pause
|
|
EXIT /B %BUILD_ERROR%
|