The French socialist government on Wednesday agreed to legalise same-sex marriage and to allow adoption for same-sex couples amid strong opposition from the Roman Catholic church.

The government gave the green light for same-sex couples to marry and adopt children after a weekly cabinet meeting, Xinhua news agency reported.

During his election campaign, President Francois Hollande promised the legislation would be endorsed by mid-2013.

The draft law "based on research of the effectiveness of equality principle, allows same-sex couples to marry. It's also open to same-sex couples the way of adoption, whether the joint adoption of a child by the couple or adoption of the spouse's child," according to a government statement.

The bill would recognise same-sex marriage celebrated before the entry into force of the law, it added.

"This is an important step towards the equality of rights. All opinions could be heard as long as the debate keeps its quality," said Minister of Family Affairs Dominique Bertinnoti.

However, religious leaders and conservatives have opposed the move, with France's leading Roman Catholic Church warning last Saturday that the draft bill would destabilise the French society's equilibrium.

"It is not just about homosexual marriage, it is about a complete reorganisation, deconstruction of the right of the family, with questions surrounding lineage, the removal of the reference to father and mother in the text," said Jean-Francois Cope, president of the conservative Union for a Popular Movement Group.

Polls showed up to two-thirds of French voters back gay marriage but are split on the issue of adoption.

The draft law will be presented to parliament in January next year.

Belgium, Britain, Denmark, Finland, Germany, Iceland, the Netherlands, Norway, Spain and Sweden currently allow gay marriage and gay couples to adopt.