{"action":"opened","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/1521","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/1521/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/1521/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/1521/events","html_url":"https://github.com/dotnet/coreclr/issues/1521","id":105613018,"number":1521,"title":"Facilitate using CMake's standard mechanism to find CoreCLR","user":{"login":"JosephTremoulet","id":10655216,"avatar_url":"https://avatars.githubusercontent.com/u/10655216?v=3","gravatar_id":"","url":"https://api.github.com/users/JosephTremoulet","html_url":"https://github.com/JosephTremoulet","followers_url":"https://api.github.com/users/JosephTremoulet/followers","following_url":"https://api.github.com/users/JosephTremoulet/following{/other_user}","gists_url":"https://api.github.com/users/JosephTremoulet/gists{/gist_id}","starred_url":"https://api.github.com/users/JosephTremoulet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JosephTremoulet/subscriptions","organizations_url":"https://api.github.com/users/JosephTremoulet/orgs","repos_url":"https://api.github.com/users/JosephTremoulet/repos","events_url":"https://api.github.com/users/JosephTremoulet/events{/privacy}","received_events_url":"https://api.github.com/users/JosephTremoulet/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-09-09T14:48:59Z","updated_at":"2015-09-09T14:48:59Z","closed_at":null,"body":"[LLILC](https://github.com/dotnet/llilc) (and other projects?) pulls in some CoreCLR sources for utilities such as GC encoding.  LLILC, like most (all?) LLVM tools, uses CMake for configuration, and currently we find those CoreCLR sources via a required argument passed on the cmake command line, but this causes some friction in the LLVM build where (aside from this) there are no required cmake command line arguments (see [D12679](http://reviews.llvm.org/D12679)).  Cmake has a standard [`find_package` utility](http://www.cmake.org/cmake/help/v3.0/command/find_package.html) for locating a \"package\" like this in a \"default\" location.  That mechanism is quite flexible; it can search specific directories, the path, locations specified by cmake-specific environment variables, cmake's user package registry, and its system package registry, or can be overridden with custom logic.\r\n\r\nThe purpose of this issue is to track that (long-term) we'd like to have these packaged as a cmake package which `find_package` can find (or be overriden to find).  The relevant sources currently get copied as part of the build process and I know we already have plans to be able to find them in nuget packages (I think @russellhadley and/or @mmitche know more about that), it may be that the best way to handle this would be for the build or an install step or nuget installation to record the location somewhere that cmake can subsequently find it."}}