The 23-year-old became a priority target for Barcelona this month after it became clear they couldn't get Arsenal's Hector Bellerin.
Barca announced on Thursday that they had reached a deal for Semedo , after their transfer chief flew to Lisbon to negotiate them down from their steep €50m valuation .
Goal understands the Catalunya club will pay €30m up front with €5m bonuses across a five-year contract.
Semedo, who has six caps for Portugal, is now in Barcelona and will join up with his team-mates for Friday evening’s training session.
He's new coach Ernesto Valverde's third signing of the transfer window, following the return of Gerard Deulofeu and arrival of young centre-back Marlon.
President Josep Maria Bartomeu stated this week that they hope to complete "two or three" deals before the window closes next month.
Barcelona face the first match of the new season on June 22 when they play Juventus in the International Champions Cup, a pre-season tournament taking place across the globe.