Quality-of-Service (QoS) support for wireless mesh networks (WMNs) poses a significant challenge because they are increasingly used as multi-purpose networks, i.e., they serve multiple objectives and different applications simultaneously. As a consequence, a one-size-fits-all routing solution is difficult to achieve, particularly when the performance and QoS expectations of these applications differ. This dissertation presents several mechanisms to provide QoS-aware routing in WMNs. It introduces the Configurable Mesh Routing (CMR) framework, a toolkit that supports the discovery and management of routes based on any combination of a number of supported QoS metrics. CMR is autonomous, that is, it requires limited participation from the application. In addition, CMR relies on QoS adaptation mechanisms to dynamically respond to changes in the WMN. Finally, CMR allows applications to customize the WMN to their own needs, that is, routes are discovered, monitored, and adapted based on application-specific requirements.