The 28-year-old, who spent last season on loan at Blackpool and scored five Premier League goals, will cost Pompey a fee of around £750,000 and will be a direct for replacement for David Nugent following his switch to Leicester.
Pompey have also landed goalkeeper Stephen Henderson on a free transfer from Bristol City.
"It's great to get the pair of them. They're good lads," said boss Steve Cotterill.
Cotterill is also close to a permanent deal for Wolves defender Greg Halford, who impressed on loan at Fratton Park last term.
"Halford is close. That could happen this week," he added.