<div dir="ltr">Hello LLVM,<div><br></div><div>I'm maintaining a project that has the LLVM as a dependency. I tried using pre-built LLVM libraries as much as possible, but have issues with this approach all the time. I would like to discuss alternatives.</div><div><br></div><div>On Linux I try to use llvm-dev packages. Main issues are: different distributions has LLVM packaged differently, the packages are sometimes broken (usually cmake shared files), if not broken at the moment they can brake in the future despite the fact the particular LLVM version has been released long time ago, <a href="http://llvm.org/apt">llvm.org/apt</a> has been closed.</div><div><br></div><div>On macOS I use homebrew. Usually fine but you have to wait long time for a new version (e.g. they rejected LLVM 3.7.0 for some reason). If I'm not wrong, homebrew builds LLVM from source.</div><div><br></div><div>On Windows... I build it myself and upload binaries to GitHub. Then cmake script can download it.</div><div><br></div><div>I really started thinking about building LLVM from source everywhere as a my project build step. It should work more/less the same on all platforms. In the future I might reach for LTO+PGO (I imagine it is not possible using pre-built libraries).</div><div><br></div><div>Ideally would be to setup the dependencies against the LLVM libraries during cmake configuration step and build only required libraries when building my project.</div><div><br></div><div>Recently, I've seen cmake's ExternalProject module (<a href="https://cmake.org/cmake/help/v3.5/module/ExternalProject.html">https://cmake.org/cmake/help/v3.5/module/ExternalProject.html</a>) mentioned here. Can this help with my goal?</div><div><br></div><div>Have you tried something similar? What your opinions? Any suggestions?</div><div><br></div><div>- PaweÅ‚</div></div>