The actor has joined Hugh Jackman, who will play the the pirate Blackbeard and Garrett Hedlund, who has been tapped to play Captain Hook, reported Variety.
The film will be a new take on the classic story. It is set during WWII and follows an orphan who is kidnapped by pirates and brought to Neverland, where he discovers he's destined to save the land from the pirate Blackbeard.
In the Warner Bros film, Rooney Mara has been attached to take on the role of Native American princess Tiger Lily, and Adeel Akhtar is tapped to play Smee, Hook's right-hand man.