Formal:
* Tenha um bom fim de semana. (This is the most common and formal way to say it.)
Informal:
* Bom fim de semana! (This is a more casual and common way to say it.)
* Tenha um ótimo fim de semana! (This is a slightly more enthusiastic way to say it.)
* Boa semana! (This is more common in Brazil and means "have a good week," but it can be used in the context of wishing someone a nice weekend.)
In Brazil, you might also hear:
* Um bom final de semana! (This is a more formal way to say it in Brazil.)
* Um ótimo final de semana! (This is a more enthusiastic way to say it in Brazil.)
To make it even more friendly, you can add:
* Aproveite! (Enjoy!)
* Descanse! (Rest up!)
* Divirta-se! (Have fun!)
For example:
* Tenha um bom fim de semana e aproveite! (Have a nice weekend and enjoy!)
* Bom fim de semana e descanse bastante! (Have a nice weekend and rest up!)
The best choice depends on the context and your relationship with the person you are speaking to.