Faits :
A.
Par jugement du 1er mai 2014, le Tribunal de police de l'arrondissement de la Broye et du Nord vaudois a admis l'opposition formée par X._ contre l'ordonnance pénale rendue le 17 juillet 2013 par le Préfet du district du Gros-de-Vaud, l'a libéré des charges de violation de l'art. 190 du règlement d'application de la loi scolaire vaudoise (aRLS; RSV 400.01.1), lui a alloué une indemnité au sens de l'<ref-law> d'un montant de 3'000 fr. et a laissé les frais à la charge de l'État.
Il était reproché à X._ d'avoir, à fin mai 2013, pénétré sans autorisation dans deux classes du bâtiment scolaire de A._, malgré deux mises en garde du directeur dudit établissement.
B.
Le 23 juillet 2014, le Président de la Cour d'appel pénale du Tribunal cantonal vaudois a partiellement admis l'appel formé par le ministère public contre ce jugement, qu'il a modifié en ce sens qu'il a refusé d'allouer une indemnité à X._, à la charge duquel il a par ailleurs mis les frais de procédure.
C.
X._ forme un recours en matière pénale contre le jugement du Président de la Cour d'appel pénale. Il conclut, principalement, à la réforme de l'arrêt attaqué en ce sens qu'aucune participation aux frais de première instance n'est mise à sa charge, les frais d'appel étant laissés à la charge de l'État et une indemnité au sens de l'<ref-law> lui étant versée à hauteur de 3'000 fr. à titre de frais de défense de première instance. A titre subsidiaire, il conclut à l'annulation du jugement attaqué et au renvoi de la cause à l'autorité cantonale pour qu'elle rende une nouvelle décision.
Le recourant a par ailleurs sollicité l'assistance judiciaire. Sa requête a été rejetée par ordonnance de la Cour de droit pénal du Tribunal fédéral du 20 novembre 2014.

Considérant en droit :
1. Le recourant reproche au Président de la Cour d'appel pénale d'avoir violé les art. 426 al. 2 et 398 al. 4 CPP. Il soutient qu'en l'absence d'instruction concernant ses agissements réels il n'était pas possible de mettre les frais à sa charge faute de faits incontestés ou clairement établis. Il conteste par ailleurs l'existence d'un lien de causalité entre son comportement et l'ouverture puis la poursuite de la procédure pénale.
1.1. La procédure litigieuse concernait une infraction de droit cantonal. Il en résulte que le CPP n'est pas applicable directement (cf. <ref-law>). Il l'est à titre de droit cantonal supplétif (voir art. 30 de la loi vaudoise d'introduction du Code de procédure pénale suisse, RS/VD 312.01). L'application du droit cantonal, y compris le droit fédéral appliqué à titre de droit cantonal supplétif, est uniquement examinée par le Tribunal fédéral sous l'angle d'une violation de l'interdiction constitutionnelle de l'arbitraire (cf. <ref-ruling> consid. 2.2 p. 69). Il incombe à cet égard au recourant d'exposer une argumentation spécifique qui réponde aux exigences accrues de motivation déduites de l'<ref-law>.
1.2. Selon l'<ref-law>, appliqué à titre supplétif, lorsque la procédure fait l'objet d'une ordonnance de classement ou que le prévenu est acquitté, tout ou partie des frais de procédure peuvent être mis à sa charge s'il a, de manière illicite et fautive, provoqué l'ouverture de la procédure ou rendu plus difficile la conduite de celle-ci.
La condamnation d'un prévenu acquitté à supporter tout ou partie des frais doit respecter la présomption d'innocence, consacrée par les art. 32 al. 1 Cst. et 6 par. 2 CEDH. Celle-ci interdit de rendre une décision défavorable au prévenu libéré en laissant entendre que ce dernier serait néanmoins coupable des infractions qui lui étaient reprochées. Une condamnation aux frais n'est ainsi admissible que si le prévenu a provoqué l'ouverture de la procédure pénale dirigée contre lui ou s'il en a entravé le cours. A cet égard, seul un comportement fautif et contraire à une règle juridique, qui soit en relation de causalité avec les frais imputés, entre en ligne de compte (<ref-ruling> consid. 1b p. 334; <ref-ruling> consid. 2c p. 168).
Pour déterminer si le comportement en cause est propre à justifier l'imputation des frais, le juge peut prendre en considération toute norme de comportement écrite ou non écrite résultant de l'ordre juridique suisse pris dans son ensemble, dans le sens d'une application par analogie des principes découlant de l'<ref-law> (ATF 119 la 332 consid. 1 b p. 334; 116 la 162 consid. 2c p. 169). Le fait reproché doit constituer une violation claire de la norme de comportement (ATF 119 la 332 consid. 1 b p. 334; 116 la 162 consid. 2d p. 171). En cas d'acquittement partiel, la jurisprudence a reconnu qu'une certaine marge d'appréciation devait être laissée à l'autorité parce qu'il est difficile de déterminer avec exactitude les frais qui relèvent de chaque fait imputable ou non au condamné (arrêts 6B_218/2013 du 13 juin 2013 consid. 5.2; 6B_45/2011 du 12 septembre 2011 consid. 3.1). Ce principe doit également valoir dans le cas où seule une partie des faits pour lesquels le poursuivi a bénéficié d'un acquittement constitue un comportement fautif contraire à une règle juridique.
1.3. En l'espèce, le reproche fait au recourant est d'avoir pénétré sans autorisation dans deux classes du bâtiment scolaire de A._, ce qu'il admet, contestant toutefois avoir dérangé les classes. Dans ces circonstances, il y a lieu de considérer les faits constatés comme suffisants et c'est en vain que le recourant reproche à l'autorité cantonale d'avoir fondé son raisonnement sur des faits contestés et non établis. La cour cantonale a considéré que l'art. 190 aRLS ne constituait pas une base légale suffisante pour fonder une condamnation pénale, faute en particulier de prévoir une sanction. En revanche, elle a admis que cette disposition permettait de retenir un comportement illicite du recourant. L'art. 190 aRLS, en vigueur au moment des faits, interdit à toute personne de s'introduire dans les bâtiments de l'école pour interrompre l'enseignant dans l'exercice de ses fonctions ou pour perturber la vie scolaire. Du seul fait qu'il soit entré dans les classes le recourant a forcément interrompu les enseignants. Ainsi, même si son but n'était pas de déranger les classes mais de prendre des rendez-vous avec les enseignants, ce qu'il pouvait parfaitement faire en dehors des heures d'enseignement, au cours d'une récréation par exemple, le recourant a contrevenu à la disposition en question. Il l'a fait alors même qu'il avait été mis en garde à deux reprises par le directeur de l'établissement scolaire. Son comportement était donc illicite et fautif. Tout du moins n'était-il pas arbitraire de le retenir. Le recourant est à l'origine de la présente procédure, de sorte que le président de la cour cantonale n'a pas appliqué de manière arbitraire le CPP à titre supplétif en mettant les frais de la procédure à sa charge.
2.
Le recourant soutient en outre que le président de la cour cantonale a violé l'<ref-law> en lui refusant toute indemnité.
En vertu de l'<ref-law>, l'autorité pénale peut réduire ou refuser l'indemnité pour les dépenses occasionnées par l'exercice raisonnable de ses droits de procédure (<ref-law>) lorsque le prévenu a provoqué illicitement et fautivement l'ouverture de la procédure ou a rendu plus difficile la conduite de celle-ci.
La question de l'indemnisation du prévenu (<ref-law>) doit être traitée en relation avec celle des frais (<ref-law>). Si le prévenu supporte les frais en application de l'art. 426 al. 1 ou 2 CPP, une indemnité est en règle générale exclue. En revanche, si l'Etat supporte les frais de la procédure pénale, le prévenu a en principe droit à une indemnité selon l'<ref-law> (<ref-ruling> consid. 2.4.2 p. 357).
L'argumentation du recourant repose entièrement sur la prémisse que les frais de procédure ne devaient pas être mis à sa charge. Dès lors qu'au considérant précédent la cour de céans est parvenue à la conclusion inverse, son grief est irrecevable.
3.
Mal fondé, le recours doit être rejeté dans la mesure où il est recevable. Le recourant, qui succombe et dont la requête d'assistance judiciaire a été rejetée eu égard à sa situation financière, supportera les frais de justice (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 2000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties et au Président de la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 18 septembre 2015
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay