Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9deb2aaf5f035dfb8ca8ad58d9b8eaae419a5d00
      
https://github.com/WebKit/WebKit/commit/9deb2aaf5f035dfb8ca8ad58d9b8eaae419a5d00
  Author: Geoffrey Garen <[email protected]>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M Source/WebCore/PAL/pal/CMakeLists.txt
    M Source/WebGPU/WebGPU/CMakeLists.txt
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/PlatformIOS.cmake
    M Source/WebKit/PlatformMac.cmake
    M Source/cmake/WebKitMacros.cmake

  Log Message:
  -----------
  [CMake] Emit Swift C++-interop header while compiling (instead of compiling 
twice)
https://bugs.webkit.org/show_bug.cgi?id=315699
rdar://178081023

Reviewed by Mike Wyrzykowski.

Currently we compile Swift modules in -typecheck first, and then in
regular mode. -typecheck mode emits the Swift-C++ interop header.

Adopt -emit-clang-header so we can do both in one go.

Clients that depend on the Swift interop header depend on this build
step via ${target}_SwiftInterop sub-targets.

* Source/WebCore/PAL/pal/CMakeLists.txt:
* Source/WebGPU/WebGPU/CMakeLists.txt:
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/PlatformIOS.cmake:
* Source/WebKit/PlatformMac.cmake:

* Source/cmake/WebKitMacros.cmake: In Linux builds with CMake < CMP0157,
compilation and linking happen at the same time, which creates a circular
dependency in the build graph.

Work around this issue by:
* defining a separate Swift sub-target
* describing the target's output as throwaway .a, so implicit
link-when-compiling is a no-op.

Canonical link: https://commits.webkit.org/314042@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to