The 38-year-old will join Nicholas Hoult in the project that also stars Henry Cavill, said The Hollywood Reporter.
The character the 38-year-old "Prometheus" actor will play was previously offered to Chris Evans.
Fernando Coimbra will helm the project based on the script by Chris Roessner.
The film revolves around Roessner's two years and more than 200 missions as a machine gunner in Iraq's Sunni Triangle.
The story follows Matt Ocre (Hoult) and the leader of his platoon, Sergeant Baker, as they attempt to protect Baqubah, a dangerous farming village.