Skip to content

[runtime] Correct usage of add_custom_command_target in CMakeLists.txt #2331

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 18 additions & 12 deletions stdlib/public/runtime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
add_swift_library(section_magic_begin IS_STDLIB IS_STDLIB_CORE
swift_sections.S
C_COMPILE_FLAGS ${swift_runtime_compile_flags} "-DSWIFT_BEGIN"
INSTALL_IN_COMPONENT stdlib)
INSTALL_IN_COMPONENT never_install)
add_swift_library(section_magic_end IS_STDLIB IS_STDLIB_CORE
swift_sections.S
C_COMPILE_FLAGS ${swift_runtime_compile_flags} "-DSWIFT_END"
INSTALL_IN_COMPONENT stdlib)
INSTALL_IN_COMPONENT never_install)
endif()

set(object_target_list)
Expand All @@ -89,17 +89,23 @@ foreach(sdk ${SWIFT_CONFIGURED_SDKS})

set(section_magic_begin_name "section_magic_begin-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-${arch}")
set(section_magic_end_name "section_magic_end-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-${arch}")
add_custom_command_target(${section_magic_begin_name}_begin
OUTPUT "${SWIFTLIB_DIR}/${arch_subdir}/swift_begin.o"
COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${section_magic_begin_name}.dir/swift_sections.S${CMAKE_C_OUTPUT_EXTENSION}" "${SWIFTLIB_DIR}/${arch_subdir}/swift_begin.o"
DEPENDS ${section_magic_begin_name})
add_custom_command_target(section_magic_o
COMMAND
"${CMAKE_COMMAND}" -E copy
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${section_magic_begin_name}.dir/swift_sections.S${CMAKE_C_OUTPUT_EXTENSION}"
"${SWIFTLIB_DIR}/${arch_subdir}/swift_begin.o"
COMMAND
"${CMAKE_COMMAND}" -E copy
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${section_magic_end_name}.dir/swift_sections.S${CMAKE_C_OUTPUT_EXTENSION}"
"${SWIFTLIB_DIR}/${arch_subdir}/swift_end.o"
OUTPUT
"${SWIFTLIB_DIR}/${arch_subdir}/swift_begin.o"
"${SWIFTLIB_DIR}/${arch_subdir}/swift_end.o"
DEPENDS
${section_magic_begin_name}
${section_magic_end_name})

add_custom_command_target(${section_magic_begin_name}_end
OUTPUT "${SWIFTLIB_DIR}/${arch_subdir}/swift_end.o"
COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${section_magic_end_name}.dir/swift_sections.S${CMAKE_C_OUTPUT_EXTENSION}" "${SWIFTLIB_DIR}/${arch_subdir}/swift_end.o"
DEPENDS ${section_magic_end_name})

list(APPEND object_target_list "${SWIFTLIB_DIR}/${arch_subdir}/swift_begin.o" "${SWIFTLIB_DIR}/${arch_subdir}/swift_end.o")
list(APPEND object_target_list "${section_magic_o}")

swift_install_in_component(stdlib
FILES "${SWIFTLIB_DIR}/${arch_subdir}/swift_begin.o" "${SWIFTLIB_DIR}/${arch_subdir}/swift_end.o"
Expand Down