mirror of
https://github.com/curl/curl.git
synced 2026-05-13 18:26:25 +03:00
cmake: make the ExternalProject test work
By micromanaging the project dependency and its inclusion into the test
project. It feels like an awkward construct, but perhaps better than
nothing.
It's also fragile because it's a static build with no assistance from
the external project (curl in this case). Mitigated in test by disabling
all dependencies and some features.
Since there is no special core cmake logic to be tested here, in CI
the test is tested really. To keep CI jobs at minimum, only add 3 of
them, taking 42s in total. (All 6 would take 270s.)
Follow-up to e2a23d5d0d #17203
Closes #18208
This commit is contained in:
parent
a93113b5b4
commit
b8296d367a
3 changed files with 62 additions and 24 deletions
17
.github/workflows/distcheck.yml
vendored
17
.github/workflows/distcheck.yml
vendored
|
|
@ -301,6 +301,9 @@ jobs:
|
|||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: 'via ExternalProject'
|
||||
if: ${{ !contains(matrix.image, 'linux') }}
|
||||
run: ./tests/cmake/test.sh ExternalProject ${TESTOPTS}
|
||||
- name: 'via FetchContent'
|
||||
run: ./tests/cmake/test.sh FetchContent ${TESTOPTS} -DCURL_USE_OPENSSL=ON
|
||||
- name: 'via add_subdirectory'
|
||||
|
|
@ -308,6 +311,20 @@ jobs:
|
|||
- name: 'via find_package'
|
||||
run: ./tests/cmake/test.sh find_package ${TESTOPTS} -DCURL_USE_OPENSSL=ON
|
||||
|
||||
- name: 'via ExternalProject (old cmake)'
|
||||
if: ${{ contains(matrix.image, 'linux') }}
|
||||
run: |
|
||||
export TEST_CMAKE_CONSUMER; TEST_CMAKE_CONSUMER="$(cat ~/old-cmake-path.txt)"
|
||||
if [[ "${MATRIX_IMAGE}" = *'macos'* ]]; then
|
||||
export CFLAGS='-arch arm64'
|
||||
export TEST_CMAKE_FLAGS='-DCURL_USE_LIBPSL=OFF' # auto-detection does not work with old-cmake
|
||||
fi
|
||||
if [[ "${MATRIX_IMAGE}" = *'windows'* ]]; then
|
||||
export TEST_CMAKE_GENERATOR='MSYS Makefiles'
|
||||
export TEST_CMAKE_FLAGS='-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DOPENSSL_ROOT_DIR=C:/msys64/mingw64'
|
||||
fi
|
||||
./tests/cmake/test.sh ExternalProject ${TESTOPTS}
|
||||
|
||||
- name: 'via add_subdirectory OpenSSL (old cmake)'
|
||||
run: |
|
||||
export TEST_CMAKE_CONSUMER; TEST_CMAKE_CONSUMER="$(cat ~/old-cmake-path.txt)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue