Targets can depend on other targets so code builds in the right order.

Build a target list

target_dependencies.swift
let includeTests = 
let coreTarget = "Core"
let appTarget = "App"
var targets = [coreTarget, appTarget]

if includeTests {
    targets.append("AppTests")
}

let buildOrder = targets.joined(separator: " -> ")

print(buildOrder)
let includeTests = 
let coreTarget = "Core"
let appTarget = "App"
var targets = [coreTarget, appTarget]

if includeTests {
    targets.append("AppTests")
}

let buildOrder = targets.joined(separator: " -> ")

print(buildOrder)
target dependency A target dependency says one target needs another target's compiled code before it can build.