Skip to content

Commit 0c27768

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 35cde69 commit 0c27768

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

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

0 commit comments

Comments
 (0)