cmake: set CURL_DIRSUFFIX automatically in multi-config builds

To make it easier to run tests when using the Visual Studio generator,
also perhaps Xcode.

Also drop manual settings from CI.

Closes #18241
This commit is contained in:
Viktor Szakats 2025-08-09 17:36:40 +02:00
parent c04292648f
commit 7fd7d561c4
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
3 changed files with 5 additions and 2 deletions

View File

@ -912,7 +912,6 @@ jobs:
env:
TFLAGS: '${{ matrix.tflags }}'
run: |
export CURL_DIRSUFFIX="${MATRIX_TYPE}"
TFLAGS="-j8 ${TFLAGS}"
TFLAGS+=' !498' # 'Reject too large HTTP response headers on endless redirects' HTTP, HTTP GET (runtests detecting result code 2009 instead of 56 returned by curl)
if [[ "${MATRIX_INSTALL_MSYS2}" = *'libssh2-wincng'* || \

View File

@ -141,7 +141,6 @@ fi
if [ "${TFLAGS}" != 'skipall' ] && \
[ "${TFLAGS}" != 'skiprun' ]; then
export CURL_DIRSUFFIX="${PRJ_CFG}"
if [ -x "$(cygpath "${SYSTEMROOT}/System32/curl.exe")" ]; then
TFLAGS+=" -ac $(cygpath "${SYSTEMROOT}/System32/curl.exe")"
elif [ -x "$(cygpath 'C:/msys64/usr/bin/curl.exe')" ]; then

View File

@ -61,6 +61,10 @@ function(curl_add_runtests _targetname _test_flags)
endif()
list(APPEND _depends "testdeps")
endif()
set(_setenv "")
if(CMAKE_CONFIGURATION_TYPES)
set(_setenv "${CMAKE_COMMAND}" -E env "CURL_DIRSUFFIX=$<CONFIG>")
endif()
# Use a special '$TFLAGS' placeholder as last argument which will be
# replaced by the contents of the environment variable in runtests.pl.
# This is a workaround for CMake's limitation where commands executed by
@ -68,6 +72,7 @@ function(curl_add_runtests _targetname _test_flags)
string(REPLACE " " ";" _test_flags_list "${_test_flags}")
add_custom_target(${_targetname}
COMMAND
${_setenv}
"${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/runtests.pl"
${_test_flags_list}
"\$TFLAGS"