{"author":"Viktor Szakats","author_email":"commit@vsz.me","author_time":1740407255,"commit_time":1740427230,"committer":"Viktor Szakats","committer_email":"commit@vsz.me","hash":"3585796049aa5c8cc2ef4e4fa3ac289b0d5ed85c","message":"runtests: support multi-target cmake, drop workarounds from CI\n\nSupport multi-target cmake builds via `CURL_DIRSUFFIX` env. For example:\n`export CURL_DIRSUFFIX=Debug/`.\n\nMulti-target generators place their output to `src/<subdir>/`,\n`lib/<subdir>/`, `tests/server/<subdir>`, `tests/libtest/<subdir>` and\n`tests/unit/<subdir>/` by default. Before this patch, `runtests.pl`\ncouldn't run on such builds because it expected the binaries under the\ntheir `<subdir>`-less directories. This patch allows to set such subdir\nand make `runtests.pl` find the binaries. In CI we use multi-target\nbuilds with tests for MSVC. It also helps Xcode-generator builds, though\nin CI we don't have such job running tests.\n\nThere may be better solutions to configure this, but passing a custom\nvalue to `runtests.pl` including its subprocesses is somewhat tricky.\nThe reason the configuration value expects the slash at the end is\nbecause MSYS is automagically expanding the env to a (wrong) absolute\npath if the slash is in the front.\n\nAlso:\n- drop the `-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_*=` workaround from CI.\n- replace `resolve` references in tests with a new `%RESOLVE` variable.\n  It didn't use a filename extension before. After this patch it uses\n  `exe_ext('TOOL')`. I'm not sure if this is the correct choice vs.\n  `exe_ext('SRV')`.\n- fix `-c` option format in manual.\n- fix some whitespace.\n\nNote, in CI we still tweak `CMAKE_RUNTIME_OUTPUT_DIRECTORY_*` in jobs\nwhich share steps between `./configure` and cmake. It's easier that way.\n\nRef: #15000\nCherry-picked from #16394\n\nCloses #16452\n","parents":["db2fd7c3de3d8614cb338705a88f7220c1d9adbc"],"tree_hash":"1c488040b78bf5b2351890a9f8841928a9fcf337"}