architecture: ${{ matrix.arch }}
run: |
# https://pkgsrc.se/
- sudo pkgin -y install cmake perl brotli heimdal openldap-client libssh2 libidn2 libpsl nghttp2 # python311 py311-impacket
+ sudo pkgin -y install cmake pkg-config perl brotli heimdal openldap-client libssh2 libidn2 libpsl nghttp2 # python311 py311-impacket
cmake -B bld \
-DCMAKE_UNITY_BUILD=ON \
-DCURL_WERROR=ON \
-DCURL_BROTLI=ON -DUSE_NGHTTP2=ON -DCURL_USE_GSSAPI=ON \
|| { cat bld/CMakeFiles/CMake*.yaml; false; }
cmake --build bld --config Debug --parallel 3
- "$(pwd)/bld/src/curl" --disable --version
+ bld/src/curl --disable --version
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
cmake --build bld --config Debug --parallel 3 --target testdeps
cmake --build bld --config Debug --target test-ci
-DCURL_BROTLI=ON -DUSE_NGHTTP2=ON \
|| { cat bld/CMakeFiles/CMake*.yaml; false; }
cmake --build bld --config Debug --parallel 3
- "$(pwd)/bld/src/curl" --disable --version
+ bld/src/curl --disable --version
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
cmake --build bld --config Debug --parallel 3 --target testdeps
export TFLAGS='-j8 ~3017 ~TFTP' # FIXME: TFTP requests executed twice? Related: `curl: (69) TFTP: Access Violation`?
architecture: ${{ matrix.arch }}
run: |
# https://ports.freebsd.org/
- sudo pkg install -y cmake brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel py39-openssl py39-impacket py39-cryptography
+ sudo pkg install -y cmake pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel py39-openssl py39-impacket py39-cryptography
cmake -B bld \
'-DCMAKE_C_COMPILER=${{ matrix.compiler }}' \
-DCMAKE_UNITY_BUILD=ON \
if(USE_LIBIDN2)
check_library_exists("idn2" "idn2_lookup_ul" "" HAVE_LIBIDN2)
if(HAVE_LIBIDN2)
- set(CURL_LIBS "idn2;${CURL_LIBS}")
- set(LIBCURL_PC_REQUIRES_PRIVATE "libidn2;${LIBCURL_PC_REQUIRES_PRIVATE}")
+ set(LIBIDN2_LINK_LIBRARIES "idn2")
check_include_file_concat("idn2.h" HAVE_IDN2_H)
+ else()
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(LIBIDN2 "libidn2")
+ if(LIBIDN2_FOUND)
+ include_directories(${LIBIDN2_INCLUDE_DIRS})
+ set(HAVE_LIBIDN2 ON)
+ set(HAVE_IDN2_H ON)
+ endif()
+ endif()
+ if(HAVE_LIBIDN2)
+ set(CURL_LIBS "${LIBIDN2_LINK_LIBRARIES};${CURL_LIBS}")
+ set(LIBCURL_PC_REQUIRES_PRIVATE "libidn2;${LIBCURL_PC_REQUIRES_PRIVATE}")
endif()
else()
set(HAVE_LIBIDN2 OFF)