Skip to content

Fix build presets with multiple targets#332

Merged
lceWolf merged 1 commit intoCivitasv:masterfrom
bornabesic:fix-build-preset-targets
Aug 8, 2025
Merged

Fix build presets with multiple targets#332
lceWolf merged 1 commit intoCivitasv:masterfrom
bornabesic:fix-build-preset-targets

Conversation

@bornabesic
Copy link
Copy Markdown
Contributor

If a build preset from CMakePresets.json contained multiple targets, BuildPreset:get_build_target would concatenate target names into a single string which would be used as a single command line argument. The build system, such as Ninja, would then complain that the specified target is unknown.

This change modifies BuildPreset:get_build_target to return a table of targets instead, which is then unpacked after CMake's --target flag. That way, each target is a separate command line argument and the build system executes a proper multi-target build.

If a build preset from CMakePresets.json contained multiple
targets, BuildPreset:get_build_target would concatenate target
names into a single string which would be used as a single command
line argument. The build system, such as Ninja, would then
complain that the specified target is unknown.

This change modifies BuildPreset:get_build_target to return a
table of targets instead, which is then unpacked after CMake's
--target flag. That way, each target is a separate command line
argument and the build system executes a proper multi-target build.
@bornabesic bornabesic force-pushed the fix-build-preset-targets branch from 51251d7 to a06fb54 Compare July 27, 2025 21:26
@lceWolf lceWolf merged commit 90e4f16 into Civitasv:master Aug 8, 2025
2 checks passed
@lceWolf
Copy link
Copy Markdown
Collaborator

lceWolf commented Aug 8, 2025

lgtm. Thanks for your contribution

@bornabesic bornabesic deleted the fix-build-preset-targets branch August 9, 2025 07:35
lceWolf pushed a commit to lceWolf/cmake-tools.nvim that referenced this pull request Aug 11, 2025
PR Civitasv#332 introduced handling for multiple targets. Yet, old session data
still has the build_target stored as string resulting in an error when
trying to unpack the string when forming the --target arg.
This PR fixes this issue by converting old session data to the new
format, if needed
lceWolf pushed a commit that referenced this pull request Aug 11, 2025
PR #332 introduced handling for multiple targets. Yet, old session data
still has the build_target stored as string resulting in an error when
trying to unpack the string when forming the --target arg.
This PR fixes this issue by converting old session data to the new
format, if needed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants