Skip to content

Commit dbf74b5

Browse files
committed
cmake: need to link swiftrt.o for libswift-executables on linux
Otherwise dynamic metadata/conformance lookup does not work.
1 parent 61db072 commit dbf74b5

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -973,13 +973,15 @@ function(add_swift_host_tool executable)
973973
INSTALL_RPATH "${RPATH_LIST}")
974974
975975
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX" AND ASHT_HAS_LIBSWIFT AND LIBSWIFT_BUILD_MODE)
976+
set(swiftrt "swiftImageRegistrationObject${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_OBJECT_FORMAT}-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH}")
976977
if(LIBSWIFT_BUILD_MODE STREQUAL "HOSTTOOLS")
977978
# At build time and and run time, link against the swift libraries in the
978979
# installed host toolchain.
979980
get_filename_component(swift_bin_dir ${SWIFT_EXEC_FOR_LIBSWIFT} DIRECTORY)
980981
get_filename_component(swift_dir ${swift_bin_dir} DIRECTORY)
981982
set(host_lib_dir "${swift_dir}/lib/swift/linux")
982983
984+
target_link_libraries(${executable} PRIVATE ${swiftrt})
983985
target_link_libraries(${executable} PRIVATE "swiftCore")
984986
985987
target_link_directories(${executable} PRIVATE ${host_lib_dir})
@@ -993,6 +995,7 @@ function(add_swift_host_tool executable)
993995
if (NOT "${ASHT_BOOTSTRAPPING}" STREQUAL "0")
994996
get_bootstrapping_swift_lib_dir(bs_lib_dir "${ASHT_BOOTSTRAPPING}")
995997
target_link_directories(${executable} PRIVATE ${bs_lib_dir})
998+
target_link_libraries(${executable} PRIVATE ${swiftrt})
996999
target_link_libraries(${executable} PRIVATE "swiftCore")
9971000
endif()
9981001

0 commit comments

Comments
 (0)