Skip to content

Commit a05dd3e

Browse files
authored
Merge pull request #20114 from compnerd/debride
build: remove unused options in add_swift_host_library
2 parents 6b68303 + ecf0b58 commit a05dd3e

File tree

1 file changed

+27
-248
lines changed

1 file changed

+27
-248
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 27 additions & 248 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,8 +1321,6 @@ endfunction()
13211321

13221322
# Add a new Swift host library.
13231323
#
1324-
# NOTE: This has not had the parts of add_swift_library for targets excised yet.
1325-
#
13261324
# Usage:
13271325
# add_swift_host_library(name
13281326
# [SHARED]
@@ -1331,26 +1329,12 @@ endfunction()
13311329
# [LINK_LIBRARIES dep1 ...]
13321330
# [INTERFACE_LINK_LIBRARIES dep1 ...]
13331331
# [SWIFT_MODULE_DEPENDS dep1 ...]
1334-
# [FRAMEWORK_DEPENDS dep1 ...]
1335-
# [FRAMEWORK_DEPENDS_WEAK dep1 ...]
13361332
# [LLVM_COMPONENT_DEPENDS comp1 ...]
13371333
# [FILE_DEPENDS target1 ...]
1338-
# [TARGET_SDKS sdk1...]
13391334
# [C_COMPILE_FLAGS flag1...]
1340-
# [SWIFT_COMPILE_FLAGS flag1...]
13411335
# [LINK_FLAGS flag1...]
1342-
# [DONT_EMBED_BITCODE]
1343-
# [API_NOTES_NON_OVERLAY]
13441336
# [INSTALL]
1345-
# [IS_STDLIB]
1346-
# [IS_STDLIB_CORE]
1347-
# [TARGET_LIBRARY]
1348-
# [FORCE_BUILD_FOR_HOST_SDK]
13491337
# INSTALL_IN_COMPONENT comp
1350-
# DEPLOYMENT_VERSION_OSX version
1351-
# DEPLOYMENT_VERSION_IOS version
1352-
# DEPLOYMENT_VERSION_TVOS version
1353-
# DEPLOYMENT_VERSION_WATCHOS version
13541338
# source1 [source2 source3 ...])
13551339
#
13561340
# name
@@ -1368,281 +1352,76 @@ endfunction()
13681352
# LINK_LIBRARIES
13691353
# Libraries this library depends on.
13701354
#
1371-
# SWIFT_MODULE_DEPENDS
1372-
# Swift modules this library depends on.
1373-
#
1374-
# SWIFT_MODULE_DEPENDS_OSX
1375-
# Swift modules this library depends on when built for OS X.
1376-
#
1377-
# SWIFT_MODULE_DEPENDS_IOS
1378-
# Swift modules this library depends on when built for iOS.
1379-
#
1380-
# SWIFT_MODULE_DEPENDS_TVOS
1381-
# Swift modules this library depends on when built for tvOS.
1382-
#
1383-
# SWIFT_MODULE_DEPENDS_WATCHOS
1384-
# Swift modules this library depends on when built for watchOS.
1385-
#
1386-
# SWIFT_MODULE_DEPENDS_FREEBSD
1387-
# Swift modules this library depends on when built for FreeBSD.
1388-
#
1389-
# SWIFT_MODULE_DEPENDS_LINUX
1390-
# Swift modules this library depends on when built for Linux.
1391-
#
1392-
# SWIFT_MODULE_DEPENDS_CYGWIN
1393-
# Swift modules this library depends on when built for Cygwin.
1394-
#
1395-
# SWIFT_MODULE_DEPENDS_HAIKU
1396-
# Swift modules this library depends on when built for Haiku.
1397-
#
1398-
# FRAMEWORK_DEPENDS
1399-
# System frameworks this library depends on.
1400-
#
1401-
# FRAMEWORK_DEPENDS_WEAK
1402-
# System frameworks this library depends on that should be weak-linked
1403-
#
14041355
# LLVM_COMPONENT_DEPENDS
14051356
# LLVM components this library depends on.
14061357
#
14071358
# FILE_DEPENDS
14081359
# Additional files this library depends on.
14091360
#
1410-
# TARGET_SDKS
1411-
# The set of SDKs in which this library is included. If empty, the library
1412-
# is included in all SDKs.
1413-
#
14141361
# C_COMPILE_FLAGS
14151362
# Extra compiler flags (C, C++, ObjC).
14161363
#
1417-
# SWIFT_COMPILE_FLAGS
1418-
# Extra compiler flags (Swift).
1419-
#
14201364
# LINK_FLAGS
14211365
# Extra linker flags.
14221366
#
1423-
# API_NOTES_NON_OVERLAY
1424-
# Generate API notes for non-overlayed modules with this target.
1425-
#
1426-
# DONT_EMBED_BITCODE
1427-
# Don't embed LLVM bitcode in this target, even if it is enabled globally.
1428-
#
1429-
# IS_STDLIB
1430-
# Treat the library as a part of the Swift standard library.
1431-
# IS_STDLIB implies TARGET_LIBRARY.
1432-
#
1433-
# IS_STDLIB_CORE
1434-
# Compile as the Swift standard library core.
1435-
#
1436-
# IS_SDK_OVERLAY
1437-
# Treat the library as a part of the Swift SDK overlay.
1438-
# IS_SDK_OVERLAY implies TARGET_LIBRARY and IS_STDLIB.
1439-
#
1440-
# TARGET_LIBRARY
1441-
# Build library for the target SDKs.
1442-
#
14431367
# INSTALL_IN_COMPONENT comp
14441368
# The Swift installation component that this library belongs to.
14451369
#
1446-
# DEPLOYMENT_VERSION_OSX
1447-
# The minimum deployment version to build for if this is an OSX library.
1448-
#
1449-
# DEPLOYMENT_VERSION_IOS
1450-
# The minimum deployment version to build for if this is an iOS library.
1451-
#
1452-
# DEPLOYMENT_VERSION_TVOS
1453-
# The minimum deployment version to build for if this is an TVOS library.
1454-
#
1455-
# DEPLOYMENT_VERSION_WATCHOS
1456-
# The minimum deployment version to build for if this is an WATCHOS library.
1457-
#
1458-
# FORCE_BUILD_FOR_HOST_SDK
1459-
# Regardless of the defaults, also build this library for the host SDK.
1460-
#
14611370
# source1 ...
14621371
# Sources to add into this library.
14631372
function(add_swift_host_library name)
1464-
set(SWIFTLIB_options
1465-
API_NOTES_NON_OVERLAY
1466-
DONT_EMBED_BITCODE
1467-
FORCE_BUILD_FOR_HOST_SDK
1373+
set(options
14681374
FORCE_BUILD_OPTIMIZED
1469-
HAS_SWIFT_CONTENT
1470-
IS_SDK_OVERLAY
1471-
IS_STDLIB
1472-
IS_STDLIB_CORE
1473-
NOSWIFTRT
1474-
OBJECT_LIBRARY
14751375
SHARED
1476-
STATIC
1477-
TARGET_LIBRARY)
1478-
set(SWIFTLIB_single_parameter_options
1479-
DEPLOYMENT_VERSION_IOS
1480-
DEPLOYMENT_VERSION_OSX
1481-
DEPLOYMENT_VERSION_TVOS
1482-
DEPLOYMENT_VERSION_WATCHOS
1483-
INSTALL_IN_COMPONENT)
1484-
set(SWIFTLIB_multiple_parameter_options
1376+
STATIC)
1377+
set(single_parameter_options)
1378+
set(multiple_parameter_options
14851379
C_COMPILE_FLAGS
14861380
DEPENDS
14871381
FILE_DEPENDS
1488-
FRAMEWORK_DEPENDS
1489-
FRAMEWORK_DEPENDS_IOS_TVOS
1490-
FRAMEWORK_DEPENDS_OSX
1491-
FRAMEWORK_DEPENDS_WEAK
1492-
INCORPORATE_OBJECT_LIBRARIES
1493-
INCORPORATE_OBJECT_LIBRARIES_SHARED_ONLY
14941382
INTERFACE_LINK_LIBRARIES
14951383
LINK_FLAGS
14961384
LINK_LIBRARIES
1497-
LLVM_COMPONENT_DEPENDS
1498-
PRIVATE_LINK_LIBRARIES
1499-
SWIFT_COMPILE_FLAGS
1500-
SWIFT_COMPILE_FLAGS_IOS
1501-
SWIFT_COMPILE_FLAGS_OSX
1502-
SWIFT_COMPILE_FLAGS_TVOS
1503-
SWIFT_COMPILE_FLAGS_WATCHOS
1504-
SWIFT_MODULE_DEPENDS
1505-
SWIFT_MODULE_DEPENDS_CYGWIN
1506-
SWIFT_MODULE_DEPENDS_FREEBSD
1507-
SWIFT_MODULE_DEPENDS_HAIKU
1508-
SWIFT_MODULE_DEPENDS_IOS
1509-
SWIFT_MODULE_DEPENDS_LINUX
1510-
SWIFT_MODULE_DEPENDS_OSX
1511-
SWIFT_MODULE_DEPENDS_TVOS
1512-
SWIFT_MODULE_DEPENDS_WATCHOS
1513-
TARGET_SDKS)
1385+
LLVM_COMPONENT_DEPENDS)
15141386

1515-
cmake_parse_arguments(SWIFTLIB
1516-
"${SWIFTLIB_options}"
1517-
"${SWIFTLIB_single_parameter_options}"
1518-
"${SWIFTLIB_multiple_parameter_options}"
1387+
cmake_parse_arguments(ASHL
1388+
"${options}"
1389+
"${single_parameter_options}"
1390+
"${multiple_parameter_options}"
15191391
${ARGN})
1520-
set(SWIFTLIB_SOURCES ${SWIFTLIB_UNPARSED_ARGUMENTS})
1521-
1522-
# Infer arguments.
1523-
1524-
if(SWIFTLIB_IS_SDK_OVERLAY)
1525-
set(SWIFTLIB_HAS_SWIFT_CONTENT TRUE)
1526-
set(SWIFTLIB_IS_STDLIB TRUE)
1527-
set(SWIFTLIB_TARGET_LIBRARY TRUE)
1528-
1529-
# Install to sdk-overlay by default, but don't hardcode it
1530-
if(NOT SWIFTLIB_INSTALL_IN_COMPONENT)
1531-
set(SWIFTLIB_INSTALL_IN_COMPONENT sdk-overlay)
1532-
endif()
1533-
endif()
1534-
1535-
# Standard library is always a target library.
1536-
if(SWIFTLIB_IS_STDLIB)
1537-
set(SWIFTLIB_HAS_SWIFT_CONTENT TRUE)
1538-
set(SWIFTLIB_TARGET_LIBRARY TRUE)
1539-
endif()
1540-
1541-
if(NOT SWIFTLIB_TARGET_LIBRARY)
1542-
set(SWIFTLIB_INSTALL_IN_COMPONENT dev)
1543-
endif()
1544-
1545-
# If target SDKs are not specified, build for all known SDKs.
1546-
if("${SWIFTLIB_TARGET_SDKS}" STREQUAL "")
1547-
set(SWIFTLIB_TARGET_SDKS ${SWIFT_SDKS})
1548-
endif()
1549-
list_replace(SWIFTLIB_TARGET_SDKS ALL_POSIX_PLATFORMS "ALL_APPLE_PLATFORMS;ANDROID;CYGWIN;FREEBSD;LINUX;HAIKU")
1550-
list_replace(SWIFTLIB_TARGET_SDKS ALL_APPLE_PLATFORMS "${SWIFT_APPLE_PLATFORMS}")
1392+
set(ASHL_SOURCES ${ASHL_UNPARSED_ARGUMENTS})
15511393

1552-
# All Swift code depends on the standard library, except for the standard
1553-
# library itself.
1554-
if(SWIFTLIB_HAS_SWIFT_CONTENT AND NOT SWIFTLIB_IS_STDLIB_CORE)
1555-
list(APPEND SWIFTLIB_SWIFT_MODULE_DEPENDS Core)
1394+
translate_flags(ASHL "${options}")
15561395

1557-
# swiftSwiftOnoneSupport does not depend on itself, obviously.
1558-
if(NOT ${name} STREQUAL swiftSwiftOnoneSupport)
1559-
# All Swift code depends on the SwiftOnoneSupport in non-optimized mode,
1560-
# except for the standard library itself.
1561-
is_build_type_optimized("${SWIFT_STDLIB_BUILD_TYPE}" optimized)
1562-
if(NOT optimized)
1563-
list(APPEND SWIFTLIB_SWIFT_MODULE_DEPENDS SwiftOnoneSupport)
1564-
endif()
1565-
endif()
1566-
endif()
1567-
1568-
if((NOT "${SWIFT_BUILD_STDLIB}") AND
1569-
(NOT "${SWIFTLIB_SWIFT_MODULE_DEPENDS}" STREQUAL ""))
1570-
list(REMOVE_ITEM SWIFTLIB_SWIFT_MODULE_DEPENDS Core SwiftOnoneSupport)
1571-
endif()
1572-
1573-
translate_flags(SWIFTLIB "${SWIFTLIB_options}")
1574-
precondition(SWIFTLIB_INSTALL_IN_COMPONENT MESSAGE "INSTALL_IN_COMPONENT is required")
1575-
1576-
if(NOT SWIFTLIB_SHARED AND
1577-
NOT SWIFTLIB_STATIC AND
1578-
NOT SWIFTLIB_OBJECT_LIBRARY)
1579-
message(FATAL_ERROR
1580-
"Either SHARED, STATIC, or OBJECT_LIBRARY must be specified")
1581-
endif()
1582-
1583-
precondition(SWIFTLIB_TARGET_LIBRARY NEGATE
1584-
MESSAGE "TARGET_LIBRARY inferred in add_swift_host_library?!")
1585-
1586-
set(sdk "${SWIFT_HOST_VARIANT_SDK}")
1587-
set(arch "${SWIFT_HOST_VARIANT_ARCH}")
1588-
1589-
# Collect compiler flags
1590-
set(swiftlib_swift_compile_flags_all ${SWIFTLIB_SWIFT_COMPILE_FLAGS})
1591-
if("${sdk}" STREQUAL "OSX")
1592-
list(APPEND swiftlib_swift_compile_flags_all
1593-
${SWIFTLIB_SWIFT_COMPILE_FLAGS_OSX})
1594-
elseif("${sdk}" STREQUAL "IOS" OR "${sdk}" STREQUAL "IOS_SIMULATOR")
1595-
list(APPEND swiftlib_swift_compile_flags_all
1596-
${SWIFTLIB_SWIFT_COMPILE_FLAGS_IOS})
1597-
elseif("${sdk}" STREQUAL "TVOS" OR "${sdk}" STREQUAL "TVOS_SIMULATOR")
1598-
list(APPEND swiftlib_swift_compile_flags_all
1599-
${SWIFTLIB_SWIFT_COMPILE_FLAGS_TVOS})
1600-
elseif("${sdk}" STREQUAL "WATCHOS" OR "${sdk}" STREQUAL "WATCHOS_SIMULATOR")
1601-
list(APPEND swiftlib_swift_compile_flags_all
1602-
${SWIFTLIB_SWIFT_COMPILE_FLAGS_WATCHOS})
1396+
if(NOT ASHL_SHARED AND NOT ASHL_STATIC)
1397+
message(FATAL_ERROR "Either SHARED or STATIC must be specified")
16031398
endif()
16041399

16051400
_add_swift_library_single(
16061401
${name}
16071402
${name}
1608-
${SWIFTLIB_SHARED_keyword}
1609-
${SWIFTLIB_STATIC_keyword}
1610-
${SWIFTLIB_OBJECT_LIBRARY_keyword}
1611-
${SWIFTLIB_SOURCES}
1612-
SDK ${sdk}
1613-
ARCHITECTURE ${arch}
1614-
DEPENDS ${SWIFTLIB_DEPENDS}
1615-
LINK_LIBRARIES ${SWIFTLIB_LINK_LIBRARIES}
1616-
FRAMEWORK_DEPENDS ${SWIFTLIB_FRAMEWORK_DEPENDS}
1617-
FRAMEWORK_DEPENDS_WEAK ${SWIFTLIB_FRAMEWORK_DEPENDS_WEAK}
1618-
LLVM_COMPONENT_DEPENDS ${SWIFTLIB_LLVM_COMPONENT_DEPENDS}
1619-
FILE_DEPENDS ${SWIFTLIB_FILE_DEPENDS}
1620-
C_COMPILE_FLAGS ${SWIFTLIB_C_COMPILE_FLAGS}
1621-
SWIFT_COMPILE_FLAGS ${swiftlib_swift_compile_flags_all}
1622-
LINK_FLAGS ${SWIFTLIB_LINK_FLAGS}
1623-
PRIVATE_LINK_LIBRARIES ${SWIFTLIB_PRIVATE_LINK_LIBRARIES}
1624-
INTERFACE_LINK_LIBRARIES ${SWIFTLIB_INTERFACE_LINK_LIBRARIES}
1625-
INCORPORATE_OBJECT_LIBRARIES ${SWIFTLIB_INCORPORATE_OBJECT_LIBRARIES}
1626-
INCORPORATE_OBJECT_LIBRARIES_SHARED_ONLY ${SWIFTLIB_INCORPORATE_OBJECT_LIBRARIES_SHARED_ONLY}
1627-
${SWIFTLIB_DONT_EMBED_BITCODE_keyword}
1628-
${SWIFTLIB_API_NOTES_NON_OVERLAY_keyword}
1629-
${SWIFTLIB_IS_STDLIB_keyword}
1630-
${SWIFTLIB_IS_STDLIB_CORE_keyword}
1631-
${SWIFTLIB_IS_SDK_OVERLAY_keyword}
1632-
INSTALL_IN_COMPONENT "${SWIFTLIB_INSTALL_IN_COMPONENT}"
1633-
DEPLOYMENT_VERSION_OSX "${SWIFTLIB_DEPLOYMENT_VERSION_OSX}"
1634-
DEPLOYMENT_VERSION_IOS "${SWIFTLIB_DEPLOYMENT_VERSION_IOS}"
1635-
DEPLOYMENT_VERSION_TVOS "${SWIFTLIB_DEPLOYMENT_VERSION_TVOS}"
1636-
DEPLOYMENT_VERSION_WATCHOS "${SWIFTLIB_DEPLOYMENT_VERSION_WATCHOS}"
1403+
${ASHL_SHARED_keyword}
1404+
${ASHL_STATIC_keyword}
1405+
${ASHL_SOURCES}
1406+
SDK ${SWIFT_HOST_VARIANT_SDK}
1407+
ARCHITECTURE ${SWIFT_HOST_VARIANT_ARCH}
1408+
DEPENDS ${ASHL_DEPENDS}
1409+
LINK_LIBRARIES ${ASHL_LINK_LIBRARIES}
1410+
LLVM_COMPONENT_DEPENDS ${ASHL_LLVM_COMPONENT_DEPENDS}
1411+
FILE_DEPENDS ${ASHL_FILE_DEPENDS}
1412+
C_COMPILE_FLAGS ${ASHL_C_COMPILE_FLAGS}
1413+
LINK_FLAGS ${ASHL_LINK_FLAGS}
1414+
INTERFACE_LINK_LIBRARIES ${ASHL_INTERFACE_LINK_LIBRARIES}
1415+
INSTALL_IN_COMPONENT "dev"
16371416
)
16381417

16391418
swift_install_in_component(dev
16401419
TARGETS ${name}
16411420
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
16421421
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
16431422
RUNTIME DESTINATION bin)
1644-
swift_is_installing_component(dev is_installing)
16451423

1424+
swift_is_installing_component(dev is_installing)
16461425
if(NOT is_installing)
16471426
set_property(GLOBAL APPEND PROPERTY SWIFT_BUILDTREE_EXPORTS ${name})
16481427
else()

0 commit comments

Comments
 (0)