@@ -11,6 +11,17 @@ set(SWIFTLIB_DIR
11
11
set (SWIFTSTATICLIB_DIR
12
12
"${CMAKE_BINARY_DIR} /${CMAKE_CFG_INTDIR} /lib/swift_static" )
13
13
14
+ set (SWIFT_PLATFORMS_DIR
15
+ ${CMAKE_BINARY_DIR} /${CMAKE_CFG_INTDIR}/Developer/Platforms )
16
+ foreach (sdk ${SWIFT_SDKS} )
17
+ set (SWIFT_${sdk}_SDK_DIR
18
+ ${SWIFT_PLATFORMS_DIR} /${SWIFT_SDK_${sdk}_LIB_SUBDIR}.platform/Developer/SDKs/${SWIFT_SDK_${sdk}_LIB_SUBDIR}.sdk )
19
+ if (NOT TARGET swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk )
20
+ file (MAKE_DIRECTORY ${SWIFT_${sdk}_SDK_DIR} )
21
+ add_custom_target (swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk )
22
+ endif ()
23
+ endforeach ()
24
+
14
25
function (add_dependencies_multiple_targets )
15
26
cmake_parse_arguments (
16
27
ADMT # prefix
@@ -1551,6 +1562,7 @@ endfunction()
1551
1562
# [IS_STDLIB_CORE]
1552
1563
# [TARGET_LIBRARY]
1553
1564
# [INSTALL_WITH_SHARED]
1565
+ # [INSTALL_IN_SDK]
1554
1566
# INSTALL_IN_COMPONENT comp
1555
1567
# DEPLOYMENT_VERSION_OSX version
1556
1568
# DEPLOYMENT_VERSION_IOS version
@@ -1675,6 +1687,7 @@ function(add_swift_target_library name)
1675
1687
SHARED
1676
1688
STATIC
1677
1689
TARGET_LIBRARY
1690
+ INSTALL_IN_SDK
1678
1691
INSTALL_WITH_SHARED )
1679
1692
set (SWIFTLIB_single_parameter_options
1680
1693
DEPLOYMENT_VERSION_IOS
@@ -2003,6 +2016,52 @@ function(add_swift_target_library name)
2003
2016
GYB_SOURCES ${SWIFTLIB_GYB_SOURCES}
2004
2017
)
2005
2018
2019
+ if (SWIFTLIB_INSTALL_IN_SDK )
2020
+ if (SWIFTLIB_SHARED )
2021
+ if (${sdk} STREQUAL WINDOWS )
2022
+ set (target_file ${name} .lib )
2023
+ else ()
2024
+ set (target_file ${CMAKE_SHARED_LIBRARY_PREFIX}${name}${CMAKE_SHARED_LIBRARY_SUFFIX} )
2025
+ endif ()
2026
+
2027
+ add_custom_command (OUTPUT ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${target_file}
2028
+ DEPENDS ${SWIFT_LIBRARY_OUTPUT_INTDIR} /swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${target_file}
2029
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SWIFT_LIBRARY_OUTPUT_INTDIR} /swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${target_file} ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${target_file} )
2030
+ add_custom_target (swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk-${name}-${arch}
2031
+ DEPENDS ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${target_file} )
2032
+
2033
+ if (SWIFTLIB_IS_STDLIB_CORE )
2034
+ set (module_name Swift )
2035
+ else ()
2036
+ string (REPLACE swift "" module_name "${name} " )
2037
+ endif ()
2038
+
2039
+ add_custom_command (OUTPUT ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftdoc
2040
+ DEPENDS ${SWIFT_LIBRARY_OUTPUT_INTDIR} /swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${module_name}.swiftdoc
2041
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SWIFT_LIBRARY_OUTPUT_INTDIR} /swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${module_name}.swiftdoc ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftdoc )
2042
+ add_custom_target (swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk-${name}-${arch}-swiftdoc
2043
+ DEPENDS ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftdoc )
2044
+
2045
+ add_custom_command (OUTPUT ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftinterface
2046
+ DEPENDS ${SWIFT_LIBRARY_OUTPUT_INTDIR} /swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${module_name}.swiftinterface
2047
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SWIFT_LIBRARY_OUTPUT_INTDIR} /swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${module_name}.swiftinterface ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftinterface )
2048
+ add_custom_target (swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk-${name}-${arch}-swiftinterface
2049
+ DEPENDS ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftinterface )
2050
+
2051
+ add_custom_command (OUTPUT ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftmodule
2052
+ DEPENDS ${SWIFT_LIBRARY_OUTPUT_INTDIR} /swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${module_name}.swiftmodule
2053
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SWIFT_LIBRARY_OUTPUT_INTDIR} /swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${module_name}.swiftmodule ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftmodule )
2054
+ add_custom_target (swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk-${name}-${arch}-swiftmodule
2055
+ DEPENDS ${SWIFT_${sdk}_SDK_DIR}/usr/lib/swift/${arch}/${module_name}.swiftmodule )
2056
+
2057
+ add_dependencies (swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk
2058
+ swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk-${name}-${arch}
2059
+ swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk-${name}-${arch}-swiftdoc
2060
+ swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk-${name}-${arch}-swiftinterface
2061
+ swift-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-sdk-${name}-${arch}-swiftmodule )
2062
+ endif ()
2063
+ endif ()
2064
+
2006
2065
if (sdk STREQUAL WINDOWS )
2007
2066
if (SWIFT_COMPILER_IS_MSVC_LIKE )
2008
2067
if (SWIFT_STDLIB_MSVC_RUNTIME_LIBRARY MATCHES MultiThreadedDebugDLL )
@@ -2151,6 +2210,7 @@ function(add_swift_target_library name)
2151
2210
PERMISSIONS ${file_permissions}
2152
2211
"${optional_arg} " )
2153
2212
endif ()
2213
+
2154
2214
if (sdk STREQUAL WINDOWS )
2155
2215
foreach (arch ${SWIFT_SDK_WINDOWS_ARCHITECTURES} )
2156
2216
if (TARGET ${name} -windows-${arch}_IMPLIB )
0 commit comments