Skip to content

Commit 22d6ec6

Browse files
kateinoigakukunrunner
authored andcommitted
[static-stdlib] NFC: Generalize the static-executable-args.lnk file generation
This patch makes the build system to copy the lnk files for each stdlib targets if needed instead of only for the Linux target.
1 parent 1db8263 commit 22d6ec6

File tree

1 file changed

+27
-21
lines changed

1 file changed

+27
-21
lines changed

stdlib/public/runtime/CMakeLists.txt

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -110,28 +110,34 @@ set(swift_runtime_library_compile_flags ${swift_runtime_compile_flags})
110110
list(APPEND swift_runtime_library_compile_flags -DswiftCore_EXPORTS)
111111
list(APPEND swift_runtime_library_compile_flags -I${SWIFT_SOURCE_DIR}/stdlib/include/llvm/Support -I${SWIFT_SOURCE_DIR}/include)
112112

113-
set(sdk "${SWIFT_HOST_VARIANT_SDK}")
114-
if(SWIFT_BUILD_STATIC_STDLIB AND "${sdk}" STREQUAL "LINUX")
113+
if(SWIFT_BUILD_STATIC_STDLIB)
115114
set(static_binary_lnk_file_list)
116-
string(TOLOWER "${sdk}" lowercase_sdk)
117-
set(static_binary_lnk_src "${SWIFT_SOURCE_DIR}/stdlib/public/Resources/${lowercase_sdk}/static-executable-args.lnk")
118-
119-
# Generate the static-executable-args.lnk file used for ELF systems (eg linux)
120-
set(linkfile "${lowercase_sdk}/static-executable-args.lnk")
121-
add_custom_command_target(swift_static_binary_${sdk}_args
122-
COMMAND
123-
"${CMAKE_COMMAND}" -E copy
124-
"${static_binary_lnk_src}"
125-
"${SWIFTSTATICLIB_DIR}/${linkfile}"
126-
OUTPUT
127-
"${SWIFTSTATICLIB_DIR}/${linkfile}"
128-
DEPENDS
129-
"${static_binary_lnk_src}")
130-
131-
list(APPEND static_binary_lnk_file_list ${swift_static_binary_${sdk}_args})
132-
swift_install_in_component(FILES "${SWIFTSTATICLIB_DIR}/${linkfile}"
133-
DESTINATION "lib/swift_static/${lowercase_sdk}"
134-
COMPONENT stdlib)
115+
116+
foreach(sdk ${SWIFT_SDKS})
117+
if(NOT "${sdk}" STREQUAL "LINUX")
118+
continue()
119+
endif()
120+
121+
string(TOLOWER "${sdk}" lowercase_sdk)
122+
set(static_binary_lnk_src "${SWIFT_SOURCE_DIR}/stdlib/public/Resources/${lowercase_sdk}/static-executable-args.lnk")
123+
124+
# Generate the static-executable-args.lnk file used for ELF systems (eg linux)
125+
set(linkfile "${lowercase_sdk}/static-executable-args.lnk")
126+
add_custom_command_target(swift_static_binary_${sdk}_args
127+
COMMAND
128+
"${CMAKE_COMMAND}" -E copy
129+
"${static_binary_lnk_src}"
130+
"${SWIFTSTATICLIB_DIR}/${linkfile}"
131+
OUTPUT
132+
"${SWIFTSTATICLIB_DIR}/${linkfile}"
133+
DEPENDS
134+
"${static_binary_lnk_src}")
135+
136+
list(APPEND static_binary_lnk_file_list ${swift_static_binary_${sdk}_args})
137+
swift_install_in_component(FILES "${SWIFTSTATICLIB_DIR}/${linkfile}"
138+
DESTINATION "lib/swift_static/${lowercase_sdk}"
139+
COMPONENT stdlib)
140+
endforeach()
135141
add_dependencies(stdlib ${static_binary_lnk_file_list})
136142
add_custom_target(static_binary_magic ALL DEPENDS ${static_binary_lnk_file_list})
137143
endif()

0 commit comments

Comments
 (0)