Skip to content
  • Evan Wilde's avatar
    Swift: Support module libraries with command-line build systems · 56e5cea6
    Evan Wilde authored
    Wire up the flags needed to support module libraries built and used with
    Swift. We need to pass `-bundle` to the linker when linking module
    libraries on Darwin, and we need to pass `-export-dynamic` to the linker
    when emitting an executable that exports symbols on Linux. This patch
    wires up `CMAKE_SHARED_MODULE_CREATE_Swift_FLAGS` and
    `CMAKE_SHARED_MODULE_LOADER_Swift_FLAG` on Darwin, and hooks up
    `CMAKE_EXE_EXPORTS_Swift_FLAG` on Linux in order to support passing
    things correctly.
    
    We can't expose `CMAKE_EXE_LINKER_FLAGS` to Swift, as it contains flags
    that the Swift compiler doesn't recognize, but the other
    language-specific variables are safe to expose.
    56e5cea6