Faits : A. A._ et B._ sont copropriétaires, chacun pour une demie, de la parcelle n° xxx de la commune de U._, sur laquelle une demeure patricienne est érigée; l'ensemble est dénommé «Domaine...». Le 3 octobre 2006, en qualité de maîtres de l'ouvrage, ils ont conclu avec X._ Sàrl un contrat d'entreprise générale portant sur la rénovation de la maison de maître située sur le «Domaine...»; X._ Sàrl était représentée par Y._, associé gérant avec signature individuelle, lequel s'est déclaré solidairement responsable avec la société. Les parties ont convenu d'un prix forfaitaire de 750'000 fr., qui englobait les travaux faisant l'objet d'un descriptif annexé, ainsi que divers frais et taxes. X._ Sàrl n'a pas terminé les travaux prévus et ni réparé les malfaçons. A._ et B._ ont alors mandaté des entreprises tierces pour effectuer ces travaux. B. B.a. Le 18 août 2010, A._ et B._ ont déposé une requête d'expertise hors procès auprès du Juge de paix du district du Jura-Nord vaudois. L'expert M._ a établi un rapport en date du 29 septembre 2011, qu'il a complété le 27 février 2012. B.b. A la suite de l'échec de la conciliation, A._ et B._ ont conclu, par demande du 28 septembre 2012, à ce que X._ Sàrl et Y._ leur doivent paiement, solidairement entre eux, de 169'735 fr.80, plus intérêts à 5% l'an dès le 31 août 2007. Selon les demandeurs, leur prétention se décompose comme suit (sic) : - travaux contractuels non exécutés 96'009 fr. - travaux de réfection 78'300 fr. - travaux de réfection des moulures 15'000 fr. - frais de justice et d'expertise 4'660 fr. - remboursement des honoraires du conseil des demandeurs dans la procédure d'expertise hors procès 4'193 fr. Total intermédiaire 198'162 fr. - dont à déduire la somme retenue par les demandeurs sur le prix total des travaux 20'000 fr. - dont à déduire la part justifiée sur les factures n°s 272 et 2922 8'003 fr.20 Total 170'158 fr.80 En cours de procédure, une expertise a été confiée à l'architecte N._, lequel a déposé son rapport le 16 avril 2015. Par jugement du 13 juillet 2016, la Chambre patrimoniale du canton de Vaud a condamné les défendeurs, solidairement entre eux, à payer aux demandeurs, solidairement entre eux, la somme de 153'632 fr.40, avec intérêts à 5% l'an dès le 31 mars 2012. Confrontés à deux expertises contradictoires, les premiers juges ont écarté le rapport de N._, au motif que l'expert s'était fondé sur le postulat erroné selon lequel le contrat était régi par la norme SIA 118, qu'il procédait à des suppositions qui outrepassaient le rôle qui lui était dévolu et que son rapport était fouillis, peu clair, voire incompréhensible. Ils lui ont préféré le rapport de M._, sur lequel ils ont assis leurs conclusions. Ils ont considéré que les demandeurs avaient à bon droit fait appel à d'autres entreprises, après que les défendeurs eurent quitté le chantier à l'été 2007, faute de volonté réelle et sérieuse de ces derniers de terminer les travaux prévus dans le descriptif. Les défendeurs devaient dès lors rembourser aux demandeurs le montant payé par ces derniers à des entreprises tierces pour des travaux figurant dans le descriptif, mais non exécutés par les défendeurs, soit 93'009 fr. S'y ajoutaient 78'300 fr. au titre des travaux de réfection des défauts attestés par l'expertise hors procès. En revanche, le surcoût engendré par le changement des moulures était dû aux exigences du service des monuments historiques, lesquelles avaient été acceptées par les demandeurs, de sorte qu'ils ne pouvaient en réclamer le remboursement. Les premiers juges ont finalement condamné les défendeurs à rembourser aux demandeurs les frais de justice et d'expertise hors procès, ainsi que les honoraires de leur conseil pour cette procédure. Du total obtenu, soit 180'102 fr., ils ont déduit le solde dû sur le montant forfaitaire des travaux, par 20'000 fr., ainsi que le solde reconnu des factures n os 272 et 2922, par 6'469 fr.20. Les premiers juges ont refusé toute compensation avec les travaux complémentaires non prévus dans le contrat d'entreprise, que les défendeurs prétendaient avoir effectués pour un montant de 125'827 fr. En effet, lesdits travaux n'avaient jamais fait l'objet d'un accord écrit; la simple production d'une facture finale ni datée ni signée, dont on ignorait si elle avait bien été transmise aux demandeurs, ne suffisait pas pour admettre un accord des parties sur le paiement de ces travaux complémentaires. Du reste, les défendeurs n'avaient pas informé les demandeurs d'un dépassement du prix forfaitaire, ce qu'ils étaient tenus de faire en vertu du contrat. Par arrêt du 29 mai 2017, la Cour d'appel civile du canton de Vaud a admis partiellement l'appel formé par les défendeurs. Elle a considéré que les premiers juges avaient à tort écarté dans sa totalité le rapport d'expertise réalisé par N._. En effet, ce dernier se prononçait de manière suffisamment claire et compréhensible sur des prétentions opposées en compensation par les défendeurs, sur lesquelles l'expert hors procès M._ ne se déterminait pratiquement pas. Il s'agissait ainsi, en relation avec les travaux supplémentaires, de retenir l'expertise de N._ sur les points sur lesquels elle se révélait suffisamment probante et n'entrait pas en contradiction avec l'expertise hors procès. Or, il ressortait de cette expertise-là qu'il y avait bien eu des travaux supplémentaires, lesquels n'étaient pas compris dans le prix forfaitaire et devaient être rémunérés en sus. Tel était le cas de la création d'une terrasse fermée pour un montant de 15'052 fr. ainsi que du décrépissage, du lavage et du dressage de la façade avec des produits imposés par le service des monuments historiques - en lieu et place du simple rhabillage de façade prévu dans le descriptif des travaux - pour un montant de 26'167 fr.15. Partant, les défendeurs étaient fondés à opposer en compensation à la créance des demandeurs par 153'632 fr.40 une créance en paiement des travaux supplémentaires à hauteur de 41'219 fr.15. Les défendeurs étaient dès lors débiteurs envers les demandeurs d'un montant de 112'413 fr.25, avec intérêts à 5% l'an dès le 31 mars 2012. C. X._ Sàrl et Y._ interjettent un recours en matière civile. Ils concluent principalement à ce que l'arrêt du 29 mai 2017 soit réformé en ce sens qu'ils ne sont pas les débiteurs des demandeurs à raison des travaux effectués sur la base du contrat d'entreprise du 3 octobre 2006, l'action en paiement étant rejetée. Les recourants ont demandé que l'effet suspensif soit octroyé à leur recours. A._ et B._ ont conclu au rejet de la requête d'effet suspensif. Celle-ci a été admise par ordonnance présidentielle du 12 juillet 2017. Les intimés n'ont pas été invités à répondre au recours.