Skip to content

Commit df20ed2

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 c13d721 commit df20ed2

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
@@ -108,28 +108,34 @@ set(swift_runtime_library_compile_flags ${swift_runtime_compile_flags})
108108
list(APPEND swift_runtime_library_compile_flags -DswiftCore_EXPORTS)
109109
list(APPEND swift_runtime_library_compile_flags -I${SWIFT_SOURCE_DIR}/stdlib/include/llvm/Support -I${SWIFT_SOURCE_DIR}/include)
110110

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

0 commit comments

Comments
 (0)