curl/.github/workflows
Viktor Szakats 3585796049
runtests: support multi-target cmake, drop workarounds from CI
Support multi-target cmake builds via `CURL_DIRSUFFIX` env. For example:
`export CURL_DIRSUFFIX=Debug/`.

Multi-target generators place their output to `src/<subdir>/`,
`lib/<subdir>/`, `tests/server/<subdir>`, `tests/libtest/<subdir>` and
`tests/unit/<subdir>/` by default. Before this patch, `runtests.pl`
couldn't run on such builds because it expected the binaries under the
their `<subdir>`-less directories. This patch allows to set such subdir
and make `runtests.pl` find the binaries. In CI we use multi-target
builds with tests for MSVC. It also helps Xcode-generator builds, though
in CI we don't have such job running tests.

There may be better solutions to configure this, but passing a custom
value to `runtests.pl` including its subprocesses is somewhat tricky.
The reason the configuration value expects the slash at the end is
because MSYS is automagically expanding the env to a (wrong) absolute
path if the slash is in the front.

Also:
- drop the `-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_*=` workaround from CI.
- replace `resolve` references in tests with a new `%RESOLVE` variable.
  It didn't use a filename extension before. After this patch it uses
  `exe_ext('TOOL')`. I'm not sure if this is the correct choice vs.
  `exe_ext('SRV')`.
- fix `-c` option format in manual.
- fix some whitespace.

Note, in CI we still tweak `CMAKE_RUNTIME_OUTPUT_DIRECTORY_*` in jobs
which share steps between `./configure` and cmake. It's easier that way.

Ref: #15000
Cherry-picked from #16394

Closes #16452
2025-02-24 21:00:30 +01:00
..
appveyor-status.yml GHA: add yamlcheck 2024-08-23 18:42:55 +02:00
checkdocs.yml GHA: bump rojopolis/spellcheck-github-actions 2025-02-17 16:47:10 +01:00
checksrc.yml GHA: tidy up apt commands 2025-01-30 02:36:43 +01:00
configure-vs-cmake.yml cmake: fix HAVE_GETHOSTBYNAME_R_* detections with CURL_WERROR=ON 2025-02-10 12:54:11 +01:00
curl-for-win.yml GHA/curl-for-win: drop nolibgroup option, upstream default now 2025-02-06 23:43:09 +01:00
distcheck.yml cmake: add integration tests, run them in CI 2025-02-07 00:15:48 +01:00
fuzz.yml CI: move Azure jobs to GHA, fix fallouts, sshserver, runtests tweaks 2024-09-16 10:00:17 +02:00
hacktoberfest-accepted.yml GHA: set persist-credentials: false 2024-12-16 18:00:22 +01:00
http3-linux.yml gnutls: fix connection state check on handshake 2025-02-22 01:01:10 +01:00
label.yml GHA: tidy up quotes, checkout order, silence Android/CMake warnings 2025-01-19 15:03:16 +01:00
linux-old.yml libssh: drop support for libssh older than 0.9.0 2025-02-06 22:27:13 +01:00
linux.yml ci: use stable rust toolchain for rustls and skip installing the docs 2025-02-24 13:08:27 +01:00
macos.yml CI: dump non-pre-fill configure log on pre-fill check fail 2025-02-17 16:59:56 +01:00
non-native.yml cmake: misc tidy-ups 2025-02-16 03:37:22 +01:00
windows.yml runtests: support multi-target cmake, drop workarounds from CI 2025-02-24 21:00:30 +01:00