blob: dffa6d550fe75308217006e17b28e257f93e83ac [file] [log] [blame]
set(sources
Accelerate.apinotes
Dispatch.apinotes
ScriptingBridge.apinotes
os.apinotes
)
set(output_dir "${SWIFTLIB_DIR}/apinotes")
set(inputs)
set(outputs)
foreach(input ${sources})
list(APPEND inputs "${CMAKE_CURRENT_SOURCE_DIR}/${input}")
list(APPEND outputs "${output_dir}/${input}")
endforeach()
add_custom_command(
OUTPUT "${output_dir}"
COMMAND ${CMAKE_COMMAND} "-E" "make_directory" "${output_dir}")
add_custom_command(
OUTPUT ${outputs}
DEPENDS ${inputs} "${output_dir}"
COMMAND
"${CMAKE_COMMAND}" "-E" "copy_if_different" ${inputs} "${output_dir}/")
add_custom_target("copy_apinotes"
DEPENDS "${outputs}" "${output_dir}"
COMMENT "Copying API notes to ${output_dir}"
SOURCES "${sources}")
# This is treated as an OPTIONAL target because if we don't build the SDK
# overlay, the files will be missing anyway. It also allows us to build
# single overlays without installing the API notes.
swift_install_in_component(sdk-overlay
DIRECTORY "${output_dir}"
DESTINATION "lib/swift/"
OPTIONAL)