Mayors agree on ‘green cities’ environmental pact