set(datafiles macos.json ios.json tvos.json watchos.json overlay.json ) set(SWIFTLIB_DIR "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/swift") set(output_dir "${SWIFTLIB_DIR}/migrator") add_custom_command( OUTPUT "${output_dir}" COMMAND ${CMAKE_COMMAND} "-E" "make_directory" "${output_dir}") set(outputs) foreach(input ${datafiles}) add_custom_command( OUTPUT "${output_dir}/${input}" DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${input}" COMMAND "${CMAKE_COMMAND}" "-E" "create_symlink" "${CMAKE_CURRENT_SOURCE_DIR}/${input}" "${output_dir}/${input}") list(APPEND outputs "${output_dir}/${input}") endforeach() list(APPEND outputs "${output_dir}") add_custom_target("symlink_migrator_data" DEPENDS "${output_dir}" "${outputs}" COMMENT "Symlinking migrator data to ${output_dir}") swift_install_in_component(compiler FILES ${datafiles} DESTINATION "lib/swift/migrator") add_swift_library(swiftMigrator STATIC APIDiffMigratorPass.cpp EditorAdapter.cpp FixitApplyDiagnosticConsumer.cpp Migrator.cpp MigrationState.cpp RewriteBufferEditsReceiver.cpp TupleSplatMigratorPass.cpp TypeOfMigratorPass.cpp LINK_LIBRARIES swiftSyntax swiftIDE) add_dependencies(swiftMigrator "symlink_migrator_data")