Since this question appears when Googling how to add a dependency in SBT, and the current answers are deprecated as of 0.13.x and removed in 1.0, here’s the updated answer, assuming that printAction is the task that compile should depend on:
(Compile / compile) := ((Compile / compile) dependsOn printAction).value