-
-
Notifications
You must be signed in to change notification settings - Fork 28
Add CMake-Presets Based Configuration #472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add CMake-Presets Based Configuration #472
Conversation
fed97d4 to
d7aeb05
Compare
| jobs: | ||
| deploy: | ||
| name: deploy-macOS-${{ inputs.architecture }}-${{ inputs.configuration }} | ||
| runs-on: ${{ inputs.architecture == 'x64' && 'macos-13' || 'macos-latest' }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you want to revert the arch, otherwise it will default to macos-13
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
noted. So in the case of x64 we want macos-13 but for arm64 it selects macos-latest
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
correct on the x64 and macos-13
macos-latest is missing NuGet program so we can't use it for Build Stage since Panzerfaust needs it to restore its packages. On test and deploy stages it's okay to use it but I'd prefer that we use macos-14 instead, so we can be consistent across all pipeline files.
| if($LauncherOnly) { | ||
| $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.LAUNCHER_ONLY -join ' ' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dropping this means you are breaking the Dev Exp to build only the Panzerfaust and not the engine.
Contexts:
Some contributors are only interested to work on the Panzerfaust project, and this option is for them to only build it and never build the engine
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
noted. Will see how to work this out
| "inherits": "BaseOptions", | ||
| "displayName": "Darwin XCode Debug", | ||
| "binaryDir": "Result.Darwin.x64.Debug", | ||
| "generator": "Xcode", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
architecture missing ?
| { | ||
| "name": "Darwin_arm64_Debug", | ||
| "inherits": "Darwin_x64_Debug", | ||
| "binaryDir": "Result.Darwin.arm64.Debug", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
architecture missing ?
d7aeb05 to
e4c74e2
Compare
- Change the Powershell BuildEngine.ps1 script to use the Cmake Preset Commands - Move the CMake Configuration to the CMakePreset.json file - Harmonize the Build Configurations and multiple Architecture support by adding an Architecture Parameter the the BuildEngine.ps1 and RunTests.ps1 scripts - Update CI workflows and CMakeFiles to better support the Configurations and Architectures. - Vulkan-Loader no longer compiled in the BuildEngine.ps1 script and is now part of the CMake add_subdirectory workflow which brings consistency. - Removal of unnecessary CMake `target_include_directory` calls in `externals.cmake` and `imgui/CMakeLists.txt` as each target communicates its includes through the `target_link_libraries()` command.
e4c74e2 to
07aaf5b
Compare
|
Thanks a lot @MathewBensonCode for this beautiful PR ❤️🎉🎉 |
54ed55d
into
JeanPhilippeKernel:develop
target_include_directorycalls inexternals.cmakeandimgui/CMakeLists.txtas each target communicates its includes through thetarget_link_libraries()command.Resolves #76