[Python build] Add --preset arg to generated cmake CLI #966
+122
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Add
--presetarg to cmake CLI.The
scripts/build_scripts/build_zips.pyverify if at least one of files:CMakePresets.jsonorCMakeUserPresets.jsonexists, 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:
--presetarg:Add
--generatorflag that adds -G arg to cmake CLIIf you're using Visual Studio 2022, now you can override the default Visual Studio 2019 generator with
--generatorflag:python ./scripts/build_scripts/build_zips.py --generator='Visual Studio 17 2022' --platform=windowsThis PR is related with #646, that mention the usage of
cmakesettings.json, which one is deprecated!Testing
CMakePresets.jsonorCMakeUserPresets.jsonto 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" } } ] }build_zips.pyscriptpython ./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] ...--generatorflag in order to customize your VS versionpython ./scripts/build_scripts/build_zips.py --generator='Visual Studio 17 2022' --platform=windowsType of Change
Place an
xthe applicable box: