Skip to content

Commit 2ba1308

Browse files
committed
build: remove outdated TODO, limit build, install
The DispatchStubs are now used only for the ObjC codepath and no longer need to be included in the regular build. Simply remove the extra library unless Objective-C support is enabled.
1 parent 78285e0 commit 2ba1308

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

src/CMakeLists.txt

-3
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,6 @@ if(ENABLE_DTRACE)
8282
endif()
8383

8484
if(HAVE_OBJC)
85-
# TODO(compnerd) split DispatchStubs.cc into a separate component for the ObjC
86-
# registration and a separate component for the swift compiler's emission of a
87-
# call to the ObjC autorelease elision entry point.
8885
target_sources(dispatch PRIVATE
8986
data.m
9087
object.m

src/swift/CMakeLists.txt

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
add_library(DispatchStubs STATIC
2-
DispatchStubs.cc)
3-
target_include_directories(DispatchStubs PRIVATE
4-
${PROJECT_SOURCE_DIR})
5-
set_target_properties(DispatchStubs PROPERTIES
6-
POSITION_INDEPENDENT_CODE YES)
1+
if(HAVE_OBJC)
2+
add_library(DispatchStubs STATIC
3+
DispatchStubs.cc)
4+
target_include_directories(DispatchStubs PRIVATE
5+
${PROJECT_SOURCE_DIR})
6+
set_target_properties(DispatchStubs PROPERTIES
7+
POSITION_INDEPENDENT_CODE YES)
8+
endif()
79

810
add_library(swiftDispatch
911
Block.swift
@@ -27,7 +29,7 @@ set_target_properties(swiftDispatch PROPERTIES
2729
Swift_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/swift
2830
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}/swift)
2931
target_link_libraries(swiftDispatch PRIVATE
30-
DispatchStubs
32+
$<$<BOOL:${HAVE_OBJC}>:DispatchStubs>
3133
BlocksRuntime::BlocksRuntime)
3234
target_link_libraries(swiftDispatch PUBLIC
3335
dispatch)
@@ -36,6 +38,7 @@ if(NOT DARWIN AND NOT WIN32)
3638
set_target_properties(swiftDispatch PROPERTIES INSTALL_RPATH "$ORIGIN")
3739
endif()
3840

41+
set_property(GLOBAL APPEND PROPERTY DISPATCH_EXPORTS swiftDispatch)
3942
install(TARGETS swiftDispatch
4043
EXPORT dispatchExports
4144
ARCHIVE DESTINATION "${Dispatch_INSTALL_LIBDIR}"
@@ -53,11 +56,10 @@ INSTALL(FILES $<TARGET_PROPERTY:swiftDispatch,Swift_MODULE_DIRECTORY>/$<TARGET_P
5356
INSTALL(FILES $<TARGET_PROPERTY:swiftDispatch,Swift_MODULE_DIRECTORY>/$<TARGET_PROPERTY:swiftDispatch,Swift_MODULE_NAME>.swiftsourceinfo
5457
DESTINATION ${Dispatch_INSTALL_SWIFTMODULEDIR}/$<TARGET_PROPERTY:swiftDispatch,Swift_MODULE_NAME>.swiftmodule
5558
RENAME ${Dispatch_MODULE_TRIPLE}.swiftsourceinfo)
56-
if(NOT BUILD_SHARED_LIBS)
59+
60+
if(NOT BUILD_SHARED_LIBS AND HAVE_OBJC)
5761
set_property(GLOBAL APPEND PROPERTY DISPATCH_EXPORTS DispatchStubs)
5862
install(TARGETS DispatchStubs
5963
EXPORT dispatchExports
6064
DESTINATION ${Dispatch_INSTALL_LIBDIR})
6165
endif()
62-
63-
set_property(GLOBAL APPEND PROPERTY DISPATCH_EXPORTS swiftDispatch)

0 commit comments

Comments
 (0)