{"action":"closed","issue":{"url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/2025","repository_url":"https://api.github.com/repos/Project-OSRM/osrm-backend","labels_url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/2025/labels{/name}","comments_url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/2025/comments","events_url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/2025/events","html_url":"https://github.com/Project-OSRM/osrm-backend/issues/2025","id":136856036,"number":2025,"title":"Organize headers in ./include to allow building external apps against in-place headers","user":{"login":"springmeyer","id":20300,"avatar_url":"https://avatars.githubusercontent.com/u/20300?v=3","gravatar_id":"","url":"https://api.github.com/users/springmeyer","html_url":"https://github.com/springmeyer","followers_url":"https://api.github.com/users/springmeyer/followers","following_url":"https://api.github.com/users/springmeyer/following{/other_user}","gists_url":"https://api.github.com/users/springmeyer/gists{/gist_id}","starred_url":"https://api.github.com/users/springmeyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/springmeyer/subscriptions","organizations_url":"https://api.github.com/users/springmeyer/orgs","repos_url":"https://api.github.com/users/springmeyer/repos","events_url":"https://api.github.com/users/springmeyer/events{/privacy}","received_events_url":"https://api.github.com/users/springmeyer/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-27T00:53:36Z","updated_at":"2016-03-01T08:23:22Z","closed_at":"2016-03-01T08:23:22Z","body":"Ideally an application that depends on libosrm could build cleanly by either using include flags like: `-I/path/to/osrm-backend/include` or `-I/usr/local/include` (when osrm-backend is installed into the `/usr/local` prefix.\r\n\r\nCurrently however this is not possible because the organization of headers between the local `include` folder and the installed folder differ:\r\n\r\nOne example is:\r\n\r\n - locally:  `include/engine/api/route_parameters.hpp`\r\n - installed: `include/osrm/engine/api/route_parameters.hpp`\r\n\r\n(In this case this is with the `rewrite/new-api` branch).\r\n\r\nProposal: move all public headers into `./include/osrm/`. At the same time I think it would make sense to refer to all those headers using the `<osrm/header.hpp>` style within the OSRM backend code too. This is the convention I see with most C++ applications that are written as libraries.\r\n\r\n/cc @TheMarex @daniel-j-h @lbud "}}