Skip to content

Commit 0795ded

Browse files
authored
Merge pull request #66759 from kateinoigakukun/pr-a33fc5da8cdbc494e3935399dd7b74eba2288267
[static-stdlib] NFC: Generalize the static-executable-args.lnk file generation
2 parents 0845bc1 + 29b2737 commit 0795ded

File tree

1 file changed

+25
-19
lines changed

1 file changed

+25
-19
lines changed

stdlib/public/runtime/CMakeLists.txt

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -102,28 +102,34 @@ set(swift_runtime_library_compile_flags ${swift_runtime_compile_flags})
102102
list(APPEND swift_runtime_library_compile_flags -DswiftCore_EXPORTS)
103103
list(APPEND swift_runtime_library_compile_flags -I${SWIFT_SOURCE_DIR}/stdlib/include/llvm/Support -I${SWIFT_SOURCE_DIR}/include)
104104

105-
set(sdk "${SWIFT_HOST_VARIANT_SDK}")
106-
if(SWIFT_BUILD_STATIC_STDLIB AND "${sdk}" STREQUAL "LINUX")
105+
if(SWIFT_BUILD_STATIC_STDLIB)
107106
set(static_binary_lnk_file_list)
108-
string(TOLOWER "${sdk}" lowercase_sdk)
109-
set(static_binary_lnk_src "${SWIFT_SOURCE_DIR}/stdlib/public/Resources/${lowercase_sdk}/static-executable-args.lnk")
110107

111-
# Generate the static-executable-args.lnk file used for ELF systems (eg linux)
112-
set(linkfile "${lowercase_sdk}/static-executable-args.lnk")
113-
add_custom_command_target(swift_static_binary_${sdk}_args
114-
COMMAND
115-
"${CMAKE_COMMAND}" -E copy
116-
"${static_binary_lnk_src}"
117-
"${SWIFTSTATICLIB_DIR}/${linkfile}"
118-
OUTPUT
119-
"${SWIFTSTATICLIB_DIR}/${linkfile}"
120-
DEPENDS
121-
"${static_binary_lnk_src}")
108+
foreach(sdk ${SWIFT_SDKS})
109+
if(NOT "${sdk}" STREQUAL "LINUX")
110+
continue()
111+
endif()
112+
113+
string(TOLOWER "${sdk}" lowercase_sdk)
114+
set(static_binary_lnk_src "${SWIFT_SOURCE_DIR}/stdlib/public/Resources/${lowercase_sdk}/static-executable-args.lnk")
122115

123-
list(APPEND static_binary_lnk_file_list ${swift_static_binary_${sdk}_args})
124-
swift_install_in_component(FILES "${SWIFTSTATICLIB_DIR}/${linkfile}"
125-
DESTINATION "lib/swift_static/${lowercase_sdk}"
126-
COMPONENT stdlib)
116+
# Generate the static-executable-args.lnk file used for ELF systems (e.g. Linux, FreeBSD etc) and Wasm systems
117+
set(linkfile "${lowercase_sdk}/static-executable-args.lnk")
118+
add_custom_command_target(swift_static_binary_${sdk}_args
119+
COMMAND
120+
"${CMAKE_COMMAND}" -E copy
121+
"${static_binary_lnk_src}"
122+
"${SWIFTSTATICLIB_DIR}/${linkfile}"
123+
OUTPUT
124+
"${SWIFTSTATICLIB_DIR}/${linkfile}"
125+
DEPENDS
126+
"${static_binary_lnk_src}")
127+
128+
list(APPEND static_binary_lnk_file_list ${swift_static_binary_${sdk}_args})
129+
swift_install_in_component(FILES "${SWIFTSTATICLIB_DIR}/${linkfile}"
130+
DESTINATION "lib/swift_static/${lowercase_sdk}"
131+
COMPONENT stdlib)
132+
endforeach()
127133
add_dependencies(stdlib ${static_binary_lnk_file_list})
128134
add_custom_target(static_binary_magic ALL DEPENDS ${static_binary_lnk_file_list})
129135
endif()

0 commit comments

Comments
 (0)