Skip to content

Commit 982b711

Browse files
authored
Merge pull request #6488 from gonzalolarralde/link-paths-issue
2 parents 3e8b9ff + e85e9e1 commit 982b711

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ endfunction()
293293
function(_add_variant_link_flags)
294294
set(oneValueArgs SDK ARCH BUILD_TYPE ENABLE_ASSERTIONS ANALYZE_CODE_COVERAGE
295295
DEPLOYMENT_VERSION_OSX DEPLOYMENT_VERSION_IOS DEPLOYMENT_VERSION_TVOS DEPLOYMENT_VERSION_WATCHOS
296-
RESULT_VAR_NAME ENABLE_LTO LTO_OBJECT_NAME LIBRARY_SEARCH_DIRECTORIES)
296+
RESULT_VAR_NAME ENABLE_LTO LTO_OBJECT_NAME LIBRARY_SEARCH_DIRECTORIES_VAR_NAME)
297297
cmake_parse_arguments(LFLAGS
298298
""
299299
"${oneValueArgs}"
@@ -309,7 +309,7 @@ function(_add_variant_link_flags)
309309
endif()
310310

311311
set(result ${${LFLAGS_RESULT_VAR_NAME}})
312-
set(library_search_directories ${${LFLAGS_LIBRARY_SEARCH_DIRECTORIES}})
312+
set(library_search_directories ${${LFLAGS_LIBRARY_SEARCH_DIRECTORIES_VAR_NAME}})
313313

314314
_add_variant_c_compile_link_flags(
315315
SDK "${LFLAGS_SDK}"
@@ -363,7 +363,7 @@ function(_add_variant_link_flags)
363363
endif()
364364

365365
set("${LFLAGS_RESULT_VAR_NAME}" "${result}" PARENT_SCOPE)
366-
set("${LFLAGS_LIBRARY_SEARCH_DIRECTORIES}" "${library_search_directories}" PARENT_SCOPE)
366+
set("${LFLAGS_LIBRARY_SEARCH_DIRECTORIES_VAR_NAME}" "${library_search_directories}" PARENT_SCOPE)
367367
endfunction()
368368

369369
# Look up extra flags for a module that matches a regexp.
@@ -463,7 +463,7 @@ endfunction()
463463
function(swift_target_link_search_directories target directories)
464464
set(STLD_FLAGS "")
465465
foreach(directory ${directories})
466-
set(STLD_FLAGS " ${CMAKE_LIBRARY_PATH_FLAG}${directory}")
466+
set(STLD_FLAGS "${STLD_FLAGS} ${CMAKE_LIBRARY_PATH_FLAG}${directory}")
467467
endforeach()
468468
set_property(TARGET ${target} APPEND_STRING PROPERTY LINK_FLAGS ${STLD_FLAGS})
469469
endfunction()
@@ -1053,7 +1053,7 @@ function(_add_swift_library_single target name)
10531053
DEPLOYMENT_VERSION_TVOS "${SWIFTLIB_DEPLOYMENT_VERSION_TVOS}"
10541054
DEPLOYMENT_VERSION_WATCHOS "${SWIFTLIB_DEPLOYMENT_VERSION_WATCHOS}"
10551055
RESULT_VAR_NAME link_flags
1056-
LIBRARY_SEARCH_DIRECTORIES library_search_directories
1056+
LIBRARY_SEARCH_DIRECTORIES_VAR_NAME library_search_directories
10571057
)
10581058

10591059
if(SWIFT_ENABLE_GOLD_LINKER AND
@@ -1107,7 +1107,7 @@ function(_add_swift_library_single target name)
11071107
COMPILE_FLAGS " ${c_compile_flags}")
11081108
set_property(TARGET "${target}" APPEND_STRING PROPERTY
11091109
LINK_FLAGS " ${link_flags}")
1110-
swift_target_link_search_directories(${target} ${library_search_directories})
1110+
swift_target_link_search_directories("${target}" "${library_search_directories}")
11111111

11121112
# Adjust the linked libraries for windows targets. On Windows, the link is
11131113
# performed against the import library, and the runtime uses the dll. Not
@@ -1163,8 +1163,7 @@ function(_add_swift_library_single target name)
11631163
"${SWIFTSTATICLIB_DIR}/${SWIFTLIB_SINGLE_SUBDIR}"
11641164
"${SWIFT_NATIVE_SWIFT_TOOLS_PATH}/../lib/swift/${SWIFTLIB_SINGLE_SUBDIR}"
11651165
"${SWIFT_NATIVE_SWIFT_TOOLS_PATH}/../lib/swift/${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK}_LIB_SUBDIR}")
1166-
swift_target_link_search_directories(${target_static}
1167-
${library_search_directories})
1166+
swift_target_link_search_directories("${target_static}" "${library_search_directories}")
11681167
target_link_libraries("${target_static}" PRIVATE
11691168
${SWIFTLIB_SINGLE_PRIVATE_LINK_LIBRARIES})
11701169
endif()
@@ -1784,6 +1783,10 @@ function(_add_swift_executable_single name)
17841783
set(c_compile_flags)
17851784
set(link_flags)
17861785

1786+
# Prepare linker search directories.
1787+
set(library_search_directories
1788+
"${SWIFTLIB_DIR}/${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}")
1789+
17871790
# Add variant-specific flags.
17881791
_add_variant_c_compile_flags(
17891792
SDK "${SWIFTEXE_SINGLE_SDK}"
@@ -1801,7 +1804,8 @@ function(_add_swift_executable_single name)
18011804
ENABLE_LTO "${SWIFT_TOOLS_ENABLE_LTO}"
18021805
LTO_OBJECT_NAME "${name}-${SWIFTEXE_SINGLE_SDK}-${SWIFTEXE_SINGLE_ARCHITECTURE}"
18031806
ANALYZE_CODE_COVERAGE "${SWIFT_ANALYZE_CODE_COVERAGE}"
1804-
RESULT_VAR_NAME link_flags)
1807+
RESULT_VAR_NAME link_flags
1808+
LIBRARY_SEARCH_DIRECTORIES_VAR_NAME library_search_directories)
18051809

18061810
if(SWIFTEXE_SINGLE_DISABLE_ASLR)
18071811
list(APPEND link_flags "-Wl,-no_pie")
@@ -1868,8 +1872,7 @@ function(_add_swift_executable_single name)
18681872

18691873
set_property(TARGET ${name} APPEND_STRING PROPERTY
18701874
COMPILE_FLAGS " ${c_compile_flags}")
1871-
swift_target_link_search_directories(${name}
1872-
"${SWIFTLIB_DIR}/${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}")
1875+
swift_target_link_search_directories("${name}" "${library_search_directories}")
18731876
set_property(TARGET ${name} APPEND_STRING PROPERTY
18741877
LINK_FLAGS " ${link_flags}")
18751878
if (SWIFT_PARALLEL_LINK_JOBS)

0 commit comments

Comments
 (0)