Skip to content

Commit ecf0b58

Browse files
committed
build: remove unused options in add_swift_host_library
Debride the function now that it is handles only the host libraries for the tools. These are closer in spirit to the LLVM libraries and this function can really become a trivial wrapper around llvm_add_library.
1 parent 6b68303 commit ecf0b58

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)