| add_swift_target_library(swiftSwiftOnoneSupport ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB |
| # This file should be listed the first. Module name is inferred from the |
| # filename. |
| SwiftOnoneSupport.swift |
| |
| "${SWIFT_SOURCE_DIR}/stdlib/linker-support/magic-symbols-for-install-name.c" |
| |
| # We have to disable validation of TBD files, because this module is |
| # _explicitly_ special-cased to result in extra symbols generated by the |
| # optimizer, meaning TBDGen can't (and shouldn't: it has to run |
| # pre-optimization for performance) list them. |
| SWIFT_COMPILE_FLAGS "-parse-stdlib" "-Xllvm" "-sil-inline-generics=false" "-Xfrontend" "-validate-tbd-against-ir=none" "-Xfrontend" "-check-onone-completeness" "-Xfrontend" "-disable-access-control" "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}" "${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}" |
| LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}" |
| INSTALL_IN_COMPONENT stdlib) |
| if(WINDOWS IN_LIST SWIFT_SDKS) |
| # When building in Debug mode, the standard library provides the symbols that |
| # we need and as such SwiftOnoneSupport does not need to provide any exported |
| # interfaces. This results in the import library beinging elided. However, |
| # we explicitly link against the SwiftOnoneSupport library when building |
| # programs in Debug mode, and need the import library to be generated even if |
| # nothing is exported. Because we will still generate the DLL, create an |
| # empty import library. |
| file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/swiftSwiftOnoneSupport.def |
| "LIBRARY swiftSwiftOnoneSupport\n" |
| "EXPORTS\n") |
| foreach(architecture ${SWIFT_SDK_WINDOWS_ARCHITECTURES}) |
| target_sources(swiftSwiftOnoneSupport-windows-${architecture} PRIVATE |
| ${CMAKE_CURRENT_BINARY_DIR}/swiftSwiftOnoneSupport.def) |
| set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/swiftSwiftOnoneSupport.def |
| PROPERTIES HEADER_FILE_ONLY TRUE) |
| endforeach() |
| endif() |