Skip to content

Fix parallel build of loadtest apps#1225

Open
MarkCallow wants to merge 15 commits into
mainfrom
fix_lt_parallel_build
Open

Fix parallel build of loadtest apps#1225
MarkCallow wants to merge 15 commits into
mainfrom
fix_lt_parallel_build

Conversation

@MarkCallow

@MarkCallow MarkCallow commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Reinstate previously disabled parallel builds.

The issue was use of custom commands (add_custom_command) to copy resource files to a directory near the just-built executable, which is done for ease of testing and debugging. These commands were used by both the vkloadtests and gl3loadtests targets which meant races were possible.

The changes the copying to be done via custom targets which have a defined ordering and will only be built once. These target invoke very similar custom commands to do the actual work.

Only Windows and Linux builds are affected. The resource copying is not needed on macOS because the apps are built as bundles including all the resource files.

Other included changes are:

  • resources directory for Windows has been moved to a sibling of the directory containing the executable. This is the same as Linux;
  • the hierarchy of the vkloadtests and {gl3,es1,es3} targets has been reworked for simpler navigation, using CMake's source_group command

Works except for KTX files that appear in multiple
load test targets. Safety check-in.
Successfully configures and generates the projects.

Another safety check-in.
* Update copyright dates.
* ICON_SOURCE_PATH to ICON_SOURCE for consistency
  with other uses of SOURCE.
The .spv files were being included.
CMake does not offer a 100% working way to for a custom
command to create just a directory.
Add make_directory command to all custom resource commands.
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.

1 participant