From 68bba89dc30c724effd11e64486d31644f45d749 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Thu, 29 May 2025 20:20:06 -0600 Subject: [PATCH] CMake: Set macOS deployment target for vcpkg ports to match our build Without this, ports get built with whatever default is there from the toolchain, and we get all sorts of linker warnings about a mismatch. --- CMakeLists.txt | 4 ++++ Meta/CMake/common_options.cmake | 4 ---- Meta/CMake/vcpkg/generate_vcpkg_toolchain_variables.cmake | 4 ++++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c7f92fb395b..3ae05cabbdc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,10 @@ endif() # vcpkg flags depend on what linker we are using include("Meta/CMake/use_linker.cmake") +if (APPLE AND NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET 14.0) +endif() + # Pass additional information to vcpkg toolchain files if we are using vcpkg. if (CMAKE_TOOLCHAIN_FILE MATCHES "vcpkg.cmake$") set(CMAKE_PROJECT_ladybird_INCLUDE_BEFORE "Meta/CMake/vcpkg/generate_vcpkg_toolchain_variables.cmake") diff --git a/Meta/CMake/common_options.cmake b/Meta/CMake/common_options.cmake index 8e5655a6395..ee1f2446aa5 100644 --- a/Meta/CMake/common_options.cmake +++ b/Meta/CMake/common_options.cmake @@ -41,10 +41,6 @@ serenity_option(ENABLE_SWIFT OFF CACHE BOOL "Enable building Swift files") serenity_option(ENABLE_STD_STACKTRACE OFF CACHE BOOL "Force use of std::stacktrace instead of libbacktrace. If it is not supported the build will fail") serenity_option(ENABLE_WINDOWS_CI OFF CACHE BOOL "Enable building targets supported on Windows for CI") -if (APPLE AND NOT CMAKE_OSX_DEPLOYMENT_TARGET) - set(CMAKE_OSX_DEPLOYMENT_TARGET 14.0) -endif() - if (ENABLE_SWIFT) include(${CMAKE_CURRENT_LIST_DIR}/Swift/swift-settings.cmake) endif() diff --git a/Meta/CMake/vcpkg/generate_vcpkg_toolchain_variables.cmake b/Meta/CMake/vcpkg/generate_vcpkg_toolchain_variables.cmake index 34184b1fa18..abe04fd1d67 100644 --- a/Meta/CMake/vcpkg/generate_vcpkg_toolchain_variables.cmake +++ b/Meta/CMake/vcpkg/generate_vcpkg_toolchain_variables.cmake @@ -17,6 +17,10 @@ if (LINUX AND NOT LAGOM_USE_LINKER) string(APPEND EXTRA_VCPKG_VARIABLES "set(ENV{LDFLAGS} -Wl,-z,noseparate-code)\n") endif() +if (CMAKE_OSX_DEPLOYMENT_TARGET) + string(APPEND EXTRA_VCPKG_VARIABLES "set(VCPKG_OSX_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET})\n") +endif() + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/build-vcpkg-variables.cmake" "${EXTRA_VCPKG_VARIABLES}") # Munge the VCPKG_TRIPLET to correspond to the right one for our presets