From 59f47274806c60c2cbbbf13ef52ecd461b89d4e9 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 26 Feb 2025 22:35:09 +0100 Subject: [PATCH] appveyor: run VS2008 job with old CMake 3.12.2 Switch VS2008 job the oldest runner machine. It adds the oldest CMake to the Windows mix, from 2018-11-30. Not a beauty, missing support for `-B` and Unity, but it's a version curl supports. It's newer than Old Linux. The previous oldest was 3.16.2. It remains used with VS2010-VS2017. Also: - fix VS2008 job to actually build examples. - switch VS2019 job to OpenSSL 1.1.0 that wasn't tested before. Migrate OpenSSL 1.0.2 to the VS2008 job. - measure run time of individual build steps. Follow-up to 01c25e3b008085a7944f3eea4971f5eb469a6c49 #16458 Closes #16505 --- appveyor.sh | 31 ++++++++++++++++++++++--------- appveyor.yml | 8 ++++---- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/appveyor.sh b/appveyor.sh index ed1bf83058..b587022154 100644 --- a/appveyor.sh +++ b/appveyor.sh @@ -36,6 +36,8 @@ esac if [ "${APPVEYOR_BUILD_WORKER_IMAGE}" = 'Visual Studio 2022' ]; then openssl_root_win="C:/OpenSSL-v34${openssl_suffix}" elif [ "${APPVEYOR_BUILD_WORKER_IMAGE}" = 'Visual Studio 2019' ]; then + openssl_root_win="C:/OpenSSL-v11${openssl_suffix}" +elif [ "${APPVEYOR_BUILD_WORKER_IMAGE}" = 'Visual Studio 2013' ]; then openssl_root_win="C:/OpenSSL${openssl_suffix}" else openssl_root_win="C:/OpenSSL-v111${openssl_suffix}" @@ -52,10 +54,20 @@ if [ "${BUILD_SYSTEM}" = 'CMake' ]; then [ -n "${TOOLSET:-}" ] && options+=" -T ${TOOLSET}" [ "${OPENSSL}" = 'ON' ] && options+=" -DOPENSSL_ROOT_DIR=${openssl_root_win}" [ -n "${CURLDEBUG:-}" ] && options+=" -DENABLE_CURLDEBUG=${CURLDEBUG}" + if [ "${APPVEYOR_BUILD_WORKER_IMAGE}" = 'Visual Studio 2013' ]; then + mkdir "_bld${_chkprefill}" + cd "_bld${_chkprefill}" + options+=' ..' + root='..' + else + options+=" -B _bld${_chkprefill}" + options+=' -DCMAKE_VS_GLOBALS=TrackFileAccess=false' + options+=" -DCMAKE_UNITY_BUILD=${UNITY}" + root='.' + fi # shellcheck disable=SC2086 - cmake -B "_bld${_chkprefill}" -G "${PRJ_GEN}" ${TARGET} \ - -DCMAKE_VS_GLOBALS=TrackFileAccess=false \ - -DCMAKE_UNITY_BUILD="${UNITY}" -DCURL_TEST_BUNDLES=ON \ + time cmake -G "${PRJ_GEN}" ${TARGET} \ + -DCURL_TEST_BUNDLES=ON \ -DCURL_WERROR=ON \ -DBUILD_SHARED_LIBS="${SHARED}" \ -DCURL_STATIC_CRT=ON \ @@ -66,7 +78,8 @@ if [ "${BUILD_SYSTEM}" = 'CMake' ]; then -DCURL_USE_OPENSSL="${OPENSSL}" \ -DCURL_USE_LIBPSL=OFF \ ${options} \ - || { cat _bld/CMakeFiles/CMake* 2>/dev/null; false; } + || { cat ${root}/_bld/CMakeFiles/CMake* 2>/dev/null; false; } + [ "${APPVEYOR_BUILD_WORKER_IMAGE}" = 'Visual Studio 2013' ] && cd .. done if [ -d _bld_chkprefill ] && ! diff -u _bld/lib/curl_config.h _bld_chkprefill/lib/curl_config.h; then cat _bld_chkprefill/CMakeFiles/CMake* 2>/dev/null || true @@ -74,7 +87,7 @@ if [ "${BUILD_SYSTEM}" = 'CMake' ]; then fi echo 'curl_config.h'; grep -F '#define' _bld/lib/curl_config.h | sort || true # shellcheck disable=SC2086 - if ! cmake --build _bld --config "${PRJ_CFG}" --parallel 2 -- ${BUILD_OPT:-}; then + if ! time cmake --build _bld --config "${PRJ_CFG}" --parallel 2 -- ${BUILD_OPT:-}; then if [ "${PRJ_GEN}" = 'Visual Studio 9 2008' ]; then find . -name BuildLog.htm -exec dos2unix '{}' + find . -name BuildLog.htm -exec cat '{}' + @@ -127,7 +140,7 @@ fi if [ "${TFLAGS}" != 'skipall' ] && \ [ "${BUILD_SYSTEM}" = 'CMake' ]; then - cmake --build _bld --config "${PRJ_CFG}" --parallel 2 --target testdeps + time cmake --build _bld --config "${PRJ_CFG}" --parallel 2 --target testdeps fi # run tests @@ -142,12 +155,12 @@ if [ "${TFLAGS}" != 'skipall' ] && \ fi TFLAGS+=' -j0' if [ "${BUILD_SYSTEM}" = 'CMake' ]; then - cmake --build _bld --config "${PRJ_CFG}" --target test-ci + time cmake --build _bld --config "${PRJ_CFG}" --target test-ci else ( TFLAGS="-a -p !flaky -r -rm ${TFLAGS}" cd _bld/tests - ./runtests.pl + time ./runtests.pl ) fi fi @@ -156,5 +169,5 @@ fi if [ "${EXAMPLES}" = 'ON' ] && \ [ "${BUILD_SYSTEM}" = 'CMake' ]; then - cmake --build _bld --config "${PRJ_CFG}" --parallel 2 --target curl-examples + time cmake --build _bld --config "${PRJ_CFG}" --parallel 2 --target curl-examples fi diff --git a/appveyor.yml b/appveyor.yml index 124fa3d479..ab8e993e1f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -61,15 +61,15 @@ environment: SCHANNEL: 'ON' DEBUG: 'OFF' CURLDEBUG: 'ON' - - job_name: 'CMake, VS2008, Debug, x86, OpenSSL 1.1.1 + Schannel, Shared, Build-tests & examples' - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' + - job_name: 'CMake, VS2008, Debug, x86, OpenSSL 1.0.2 + Schannel, Shared, Build-tests & examples' + APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2013' PRJ_GEN: 'Visual Studio 9 2008' TARGET: '-A Win32' PRJ_CFG: Debug OPENSSL: 'ON' SCHANNEL: 'ON' SHARED: 'ON' - EXAMPLES: 'OFF' + EXAMPLES: 'ON' - job_name: 'CMake, VS2010, Debug, x64, Schannel, Shared, Build-tests & examples' APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' PRJ_GEN: 'Visual Studio 10 2010' @@ -109,7 +109,7 @@ environment: OPENSSL: 'ON' SHARED: 'ON' TFLAGS: 'skipall' - - job_name: 'CMake, VS2019, Debug, x64, OpenSSL 1.0.2 + Schannel, Shared, Build-tests' + - job_name: 'CMake, VS2019, Debug, x64, OpenSSL 1.1.0 + Schannel, Shared, Build-tests' APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' PRJ_GEN: 'Visual Studio 16 2019' TARGET: '-A x64' -- 2.47.2