Add CMake test project consuming curl via these methods: `FetchContent`, `add_subdirectory()`, `find_package()`. Also: - GHA/distcheck: run these tests in CI. - cmakelint: exclude a warning for calling "wonky-cased" built-in CMake functions, such as `FetchContent_Declare()`. Closes #16126
40 lines
1.0 KiB
Bash
Executable File
40 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# Copyright (C) Viktor Szakats
|
|
#
|
|
# SPDX-License-Identifier: curl
|
|
|
|
set -eu
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
mode="${1:-all}"
|
|
|
|
if [ "${mode}" = 'all' ] || [ "${mode}" = 'FetchContent' ]; then
|
|
rm -rf bld-fetchcontent
|
|
cmake -B bld-fetchcontent \
|
|
-DTEST_INTEGRATION_MODE=FetchContent \
|
|
-DFROM_GIT_REPO="${PWD}/../.." \
|
|
-DFROM_GIT_TAG="$(git rev-parse HEAD)"
|
|
cmake --build bld-fetchcontent
|
|
fi
|
|
|
|
if [ "${mode}" = 'all' ] || [ "${mode}" = 'add_subdirectory' ]; then
|
|
rm -rf curl; ln -s ../.. curl
|
|
rm -rf bld-add_subdirectory
|
|
cmake -B bld-add_subdirectory \
|
|
-DTEST_INTEGRATION_MODE=add_subdirectory
|
|
cmake --build bld-add_subdirectory
|
|
fi
|
|
|
|
if [ "${mode}" = 'all' ] || [ "${mode}" = 'find_package' ]; then
|
|
rm -rf bld-curl
|
|
cmake ../.. -B bld-curl
|
|
cmake --build bld-curl
|
|
cmake --install bld-curl --prefix bld-curl/_pkg
|
|
rm -rf bld-find_package
|
|
cmake -B bld-find_package \
|
|
-DTEST_INTEGRATION_MODE=find_package \
|
|
-DCMAKE_PREFIX_PATH="${PWD}/bld-curl/_pkg/lib/cmake/CURL"
|
|
cmake --build bld-find_package
|
|
fi
|