firebase-unity-sdk
firebase-unity-sdk copied to clipboard
[Python build] Add --preset arg to generated cmake CLI
Description
-
Add
--preset
arg to cmake CLI.The
scripts/build_scripts/build_zips.py
verify if at least one of files:CMakePresets.json
orCMakeUserPresets.json
exists, and lookup the first preset name that starts with firebase-sdk-unity. That configuration file is used by cmake build (e.g define cache and/or environment variables).Optionally, you can pass a custom preset name to the build script with:
--preset
arg:python ./scripts/build_scripts/build_zips.py --preset=my-custom-preset --platform=windows
-
Add
--generator
flag that adds -G arg to cmake CLIIf you're using Visual Studio 2022, now you can override the default Visual Studio 2019 generator with
--generator
flag:python ./scripts/build_scripts/build_zips.py --generator='Visual Studio 17 2022' --platform=windows
This PR is related with #646, that mention the usage of cmakesettings.json
, which one is deprecated!
Testing
- Clone or download this repo
- Locally, add a file
CMakePresets.json
orCMakeUserPresets.json
to the repo root path, like the example below:
{
"version": 3,
// Your local cmake CLI version (optional)
"cmakeMinimumRequired": {
"major": 3,
"minor": 22,
"patch": 0
},
"configurePresets": [
{
"name": "firebase-unity-sdk-default",
"displayName": "Firebase Unity SDK x64 Debug",
"description": "Sets Ninja generator, compilers, x64 architecture, build and install directory, debug build type",
"generator": "Ninja",
"binaryDir": "${sourceDir}/out/build/${presetName}",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
"UNITY_ROOT_DIR": "[YOUR_UNITY_EDITOR_PATH]",
"UNITY_CSHARP_BUILD_EXE": "[YOUR_UNITY_XBUILD_PATH_FILE]",
"UNITY_MONO_EXE": "[YOUR_UNITY_MONO]",
"MONO_EXE": "[GLOBAL_MONO]",
"MONO_CSHARP_BUILD_EXE": "[YOUR_MONO_OR_MSBUILD]"
},
"environment": {
"OPENSSL_ROOT_DIR": "[YOUR_OPENSSL_ROOT_DIR]",
"OPENSSL_INCLUDE_DIR": "$env{OPENSSL_ROOT_DIR}/include/openssl",
"OPENSSL_LIBRARIES": "$env{OPENSSL_ROOT_DIR}/lib",
"OPENSSL_CRYPTO_LIBRARY": "$env{OPENSSL_ROOT_DIR}/lib/libcrypto.lib"
}
}
]
}
- Run the
build_zips.py
script
python ./scripts/build_scripts/build_zips.py --platform=windows --targets=analytics
# The generated cmake CLI should be:
cmake_setup_args is: cmake [REPO_ROOT_PATH] --preset firebase-unity-sdk-[something] ...
- Add the
--generator
flag in order to customize your VS version
python ./scripts/build_scripts/build_zips.py --generator='Visual Studio 17 2022' --platform=windows
Type of Change
Place an x
the applicable box:
- [ ] Bug fix. Add the issue # below if applicable.
- [x] New feature. A non-breaking change which adds functionality.
- [x] Other, such as a build process or documentation change.