Merge topic 'macos-prefer-system-curl'

31884a7146 ci: Add nightly job to build CMake with vendored curl on macOS
d3cbee99e3 macOS: Prefer building with system-provided curl
d224c018fe nghttp2: Skip "Using system-installed" message if using system curl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9500
This commit is contained in:
Brad King
2024-05-10 14:08:52 +00:00
committed by Kitware Robot
8 changed files with 54 additions and 5 deletions

View File

@@ -821,6 +821,16 @@ b:macos-arm64-ninja-symlinked:
variables:
CMAKE_CI_JOB_NIGHTLY: "true"
b:macos-arm64-curl:
extends:
- .macos_arm64_curl
- .cmake_build_macos
- .cmake_build_artifacts
- .macos_arm64_tags
- .run_manually
variables:
CMAKE_CI_JOB_NIGHTLY: "true"
b:macos-arm64-pch:
extends:
- .macos_arm64_pch
@@ -874,6 +884,19 @@ t:macos-arm64-ninja-symlinked:
CMAKE_CI_JOB_NIGHTLY: "true"
CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
t:macos-arm64-curl:
extends:
- .macos_arm64_curl
- .cmake_test_macos
- .macos_arm64_tags
- .run_dependent
dependencies:
- b:macos-arm64-curl
needs:
- b:macos-arm64-curl
variables:
CMAKE_CI_JOB_NIGHTLY: "true"
b:macos-x86_64-makefiles:
extends:
- .macos_x86_64_makefiles

View File

@@ -0,0 +1,12 @@
# Build with our vendored curl instead of the default system version.
set(CMAKE_USE_SYSTEM_CURL "OFF" CACHE BOOL "")
set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "")
set(CMake_TEST_TLS_VERIFY_URL_BAD "https://badtls-expired.kitware.com" CACHE STRING "")
# Test that our vendored curl accepts CURL_SSLVERSION_TLSv1_3. It is passed
# through to Secure Transport, but macOS does not actually enforce it.
set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")

View File

@@ -8,7 +8,7 @@ set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
set(CMake_TEST_GUI "ON" CACHE BOOL "")
set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "")
set(CMake_TEST_TLS_VERIFY_URL_BAD "https://badtls-expired.kitware.com" CACHE STRING "")
set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "")
set(CMake_TEST_TLS_VERSION "1.2" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")

View File

@@ -8,7 +8,7 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
endif()
set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "")
set(CMake_TEST_TLS_VERIFY_URL_BAD "https://badtls-expired.kitware.com" CACHE STRING "")
set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "")
set(CMake_TEST_TLS_VERSION "1.2" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")

View File

@@ -11,7 +11,7 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
endif()
set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "")
set(CMake_TEST_TLS_VERIFY_URL_BAD "https://badtls-expired.kitware.com" CACHE STRING "")
set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "")
set(CMake_TEST_TLS_VERSION "1.2" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")

View File

@@ -47,6 +47,13 @@
CMAKE_CI_IN_SYMLINK_TREE: 1
CMAKE_CI_BUILD_DIR: "real_work/work/build"
.macos_arm64_curl:
extends: .macos_build
variables:
CMAKE_CONFIGURATION: macos_arm64_curl
CTEST_NO_WARNINGS_ALLOWED: 1
.macos_arm64_pch:
extends: .macos_arm64_ninja

View File

@@ -178,6 +178,9 @@ macro(CMAKE_HANDLE_SYSTEM_LIBRARIES)
string(TOLOWER "${util}" lutil)
set(CMAKE_USE_SYSTEM_${util} "${CMAKE_USE_SYSTEM_LIBRARY_${util}}"
CACHE BOOL "Use system-installed ${lutil}" FORCE)
elseif(util STREQUAL "CURL" AND APPLE)
# macOS provides a curl with backends configured by Apple.
set(CMAKE_USE_SYSTEM_LIBRARY_${util} ON)
else()
set(CMAKE_USE_SYSTEM_LIBRARY_${util} OFF)
endif()
@@ -215,6 +218,10 @@ macro(CMAKE_HANDLE_SYSTEM_LIBRARIES)
mark_as_advanced(CMAKE_USE_SYSTEM_KWIML)
# Mention to the user what system libraries are being used.
if(CMAKE_USE_SYSTEM_CURL)
# Avoid messaging about curl-only dependencies.
list(REMOVE_ITEM UTILITIES NGHTTP2)
endif()
foreach(util IN LISTS UTILITIES ITEMS KWIML)
if(CMAKE_USE_SYSTEM_${util})
message(STATUS "Using system-installed ${util}")

View File

@@ -684,8 +684,8 @@ Configuration:
(default)
--system-cppdap use system-installed cppdap library
--no-system-cppdap use cmake-provided cppdap library (default)
--system-curl use system-installed curl library
--no-system-curl use cmake-provided curl library (default)
--system-curl use system-installed curl library (default on macOS)
--no-system-curl use cmake-provided curl library (default elsewhere)
--system-expat use system-installed expat library
--no-system-expat use cmake-provided expat library (default)
--system-jsoncpp use system-installed jsoncpp library