JD2022-TU1/main/extern/UbiServices/upstream/build/private/build_modules_options.bat

182 lines
8.3 KiB
Batchfile

REM ############################################################################################
REM WIKI:HOW THE MODULE FLAGS WORK:
REM set the Modules flag here for the private batch files
REM Only when generating the LightMobile SDK solution we generate a cmake file: _configurattion/productConfigurationLightMobile.cmake this file exposes the module flags to be set by prods.
REM However, when we launch the batch files from the build/private folder we do not set those exposed flags.
REM Here is how the productConfigurationLightMobile.template.cmake exposes its flags:
REM us_set_bool(US_USE_MODULE_MODULENAME "${US_USE_PRIVATE_US_MODULE_MODULENAME}") The first part of this command passes whatever is the value of US_USE_PRIVATE_US_MODULE_MODULENAME to the solution generated by cmake.
REM LightMobile SDK: we overwrite the flag US_USE_PRIVATE_US_MODULE_MODULENAME because this is the only "flavour" of the SDK that generates the _configurattion/productConfigurationLightMobile.cmake file. If that flag is not set CMAKE won't generate a solution.
REM SERVER and FULL don't generate the productConfigurationLightMobile.cmake file and hence we have to set the US_USE_MODULE_MODULENAME flag internally for it to be exposed in the solution generated by cmake.
REM ############################################################################################
REM IS_MODULE_ACTIVATED_FOR_FLAVOR: This variable sets the default value for all the module flags. In FULL we want this to be true by default and in server or light we want them to be false by default.
REM PRIVATE_PREFIX_FOR_FLAVOR: This variable tells cmake that we are passing the module flag as either US_USE_MODULE_MODULENAME or US_USE_PRIVATE_US_MODULE_MODULENAME. We use the latter on lightmobile configuration to expose it in the productConfigurationLightMobile.template.cmake file, then depending on the value it gets propagated to the config_module_light_mobile.h file. The former is used internally to configure the config_module*.h file.
REM For more information about how the flags work please read WIKI:HOW THE FLAGS WORK:
set IS_MODULE_ACTIVATED_FOR_FLAVOR=TRUE
if "%SDK_TYPE%"==""US_SDK_SERVER"" (
set IS_MODULE_ACTIVATED_FOR_FLAVOR=FALSE
)
if defined MODULE_DISABLED_FOR_TESTS (
set IS_MODULE_ACTIVATED_FOR_FLAVOR=FALSE
)
set APPLICATION_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_APPLICATION_ACTIVATED_FOR_TESTS (
set APPLICATION_OPTION=%IS_MODULE_APPLICATION_ACTIVATED_FOR_TESTS%
)
set BATTLEPASS_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_BATTLEPASS_ACTIVATED_FOR_TESTS (
set BATTLEPASS_OPTION=%IS_MODULE_BATTLEPASS_ACTIVATED_FOR_TESTS%
)
set BLOCKLIST_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_BLOCKLIST_ACTIVATED_FOR_TESTS (
set BLOCKLIST_OPTION=%IS_MODULE_BLOCKLIST_ACTIVATED_FOR_TESTS%
)
set CHALLENGE_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_CHALLENGE_ACTIVATED_FOR_TESTS (
set CHALLENGE_OPTION=%IS_MODULE_CHALLENGE_ACTIVATED_FOR_TESTS%
)
set CLUB_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_CLUB_ACTIVATED_FOR_TESTS (
set CLUB_OPTION=%IS_MODULE_CLUB_ACTIVATED_FOR_TESTS%
)
set ENTITY_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_ENTITY_ACTIVATED_FOR_TESTS (
set ENTITY_OPTION=%IS_MODULE_ENTITY_ACTIVATED_FOR_TESTS%
)
set FRIEND_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_FRIEND_ACTIVATED_FOR_TESTS (
set FRIEND_OPTION=%IS_MODULE_FRIEND_ACTIVATED_FOR_TESTS%
)
set GAMESPLAYED_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_GAMESPLAYED_ACTIVATED_FOR_TESTS (
set GAMESPLAYED_OPTION=%IS_MODULE_GAMESPLAYED_ACTIVATED_FOR_TESTS%
)
set LEADERBOARD_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_LEADERBOARD_ACTIVATED_FOR_TESTS (
set LEADERBOARD_OPTION=%IS_MODULE_LEADERBOARD_ACTIVATED_FOR_TESTS%
)
set LOCALIZATION_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_LOCALIZATION_ACTIVATED_FOR_TESTS (
set LOCALIZATION_OPTION=%IS_MODULE_LOCALIZATION_ACTIVATED_FOR_TESTS%
)
set MATCHMAKING_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_MATCHMAKING_ACTIVATED_FOR_TESTS (
set MATCHMAKING_OPTION=%IS_MODULE_MATCHMAKING_ACTIVATED_FOR_TESTS%
)
set MODERATION_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_MODERATION_ACTIVATED_FOR_TESTS (
set MODERATION_OPTION=%IS_MODULE_MODERATION_ACTIVATED_FOR_TESTS%
)
set NEWS_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_NEWS_ACTIVATED_FOR_TESTS (
set NEWS_OPTION=%IS_MODULE_NEWS_ACTIVATED_FOR_TESTS%
)
set PERSONA_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_PERSONA_ACTIVATED_FOR_TESTS (
set PERSONA_OPTION=%IS_MODULE_PERSONA_ACTIVATED_FOR_TESTS%
)
set PLAYER_ONLINE_STATUS_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_PLAYER_ONLINE_STATUS_ACTIVATED_FOR_TESTS (
set PLAYER_ONLINE_STATUS_OPTION=%IS_MODULE_PLAYER_ONLINE_STATUS_ACTIVATED_FOR_TESTS%
)
set PLAYERREPORTS_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_PLAYERREPORTS_ACTIVATED_FOR_TESTS (
set PLAYERREPORTS_OPTION=%IS_MODULE_PLAYERREPORTS_ACTIVATED_FOR_TESTS%
)
set PROFILE_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_PROFILE_ACTIVATED_FOR_TESTS (
set PROFILE_OPTION=%IS_MODULE_PROFILE_ACTIVATED_FOR_TESTS%
)
set RECOMMENDATIONS_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_RECOMMENDATIONS_ACTIVATED_FOR_TESTS (
set RECOMMENDATIONS_OPTION=%IS_MODULE_RECOMMENDATIONS_ACTIVATED_FOR_TESTS%
)
set SECONDARYSTORE_INSTANTIATION_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_SECONDARYSTORE_INSTANTIATION_ACTIVATED_FOR_TESTS (
set SECONDARYSTORE_INSTANTIATION_OPTION=%IS_MODULE_SECONDARYSTORE_INSTANTIATION_ACTIVATED_FOR_TESTS%
)
set STATS_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_STATS_ACTIVATED_FOR_TESTS (
set STATS_OPTION=%IS_MODULE_STATS_ACTIVATED_FOR_TESTS%
)
set STORE_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_STORE_ACTIVATED_FOR_TESTS (
set STORE_OPTION=%IS_MODULE_STORE_ACTIVATED_FOR_TESTS%
)
set TLOG_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_TLOG_ACTIVATED_FOR_TESTS (
set TLOG_OPTION=%IS_MODULE_TLOG_ACTIVATED_FOR_TESTS%
)
set UGC_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_UGC_ACTIVATED_FOR_TESTS (
set UGC_OPTION=%IS_MODULE_UGC_ACTIVATED_FOR_TESTS%
)
set UPLAY_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_UPLAY_ACTIVATED_FOR_TESTS (
set UPLAY_OPTION=%IS_MODULE_UPLAY_ACTIVATED_FOR_TESTS%
)
set USER_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_USER_ACTIVATED_FOR_TESTS (
set USER_OPTION=%IS_MODULE_USER_ACTIVATED_FOR_TESTS%
)
set VOICECHAT_OPTION=%IS_MODULE_ACTIVATED_FOR_FLAVOR%
if defined IS_MODULE_VOICECHAT_ACTIVATED_FOR_TESTS (
set VOICECHAT_OPTION=%IS_MODULE_USER_ACTIVATED_FOR_TESTS%
)
set CMAKE_OPTIONS=%CMAKE_OPTIONS% ^
-DUS_USE_PRIVATE_US_MODULE_APPLICATION=%APPLICATION_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_BATTLEPASS=%BATTLEPASS_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_BLOCKLIST=%BLOCKLIST_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_CHALLENGE=%CHALLENGE_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_CLUB=%CLUB_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_ENTITY=%ENTITY_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_FRIEND=%FRIEND_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_GAMESPLAYED=%GAMESPLAYED_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_LEADERBOARD=%LEADERBOARD_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_LOCALIZATION=%LOCALIZATION_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_MATCHMAKING=%MATCHMAKING_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_MODERATION=%MODERATION_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_NEWS=%NEWS_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_PERSONA=%PERSONA_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_PLAYER_ONLINE_STATUS=%PLAYER_ONLINE_STATUS_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_PLAYERREPORTS=%PLAYERREPORTS_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_PROFILE=%PROFILE_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_RECOMMENDATIONS=%RECOMMENDATIONS_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_SECONDARYSTORE_INSTANTIATION=%SECONDARYSTORE_INSTANTIATION_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_STATS=%STATS_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_STORE=%STORE_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_TLOG=%TLOG_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_UGC=%UGC_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_UPLAY=%UPLAY_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_USER=%USER_OPTION% ^
-DUS_USE_PRIVATE_US_MODULE_VOICECHAT=%VOICECHAT_OPTION%