<div dir="ltr">I actually ended up making a CMake file to build HarfBuzz (andĀ something really bad has happenedĀ if I've been driven to CMake!) since it was the simplest way to get a working build for Windows that I could easily keep up-to-date.<div><br></div><div>This was also used to get a PS4 build (using a custom target file). Note: You'll need a define to stub out getenv for a PS4 build, and also enable the define for Intel atomics.</div><div><br></div><div>The only other platform I've built so far (also using that CMake file) was Mac, but I still have several other platforms I need to build for. I'd share it my CMake file, but it's very tailored to our build dependencies.</div><div><br></div><div>-Jamie.</div></div><div id="DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><table style="border-top:1px solid #aaabb6;margin-top:10px">
        <tr>
                <td style="width:105px;padding-top:15px">
                        <a href="https://www.avast.com/lp-safe-emailing?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://ipmcdn.avast.com/images/logo-avast-v1.png" style="width: 90px; height:33px;"></a>
                </td>
                <td style="width:470px;padding-top:20px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">This email has been sent from a virus-free computer protected by Avast. <br><a href="https://www.avast.com/lp-safe-emailing?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank" style="color:#4453ea">www.avast.com</a>
                </td>
        </tr>
</table><a href="#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div><div class="gmail_extra"><br><div class="gmail_quote">On 13 December 2015 at 06:40, Jonathan Blow <span dir="ltr"><<a href="mailto:jon@number-none.com" target="_blank">jon@number-none.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I just got through hooking HarfBuzz into a project that runs on Windows (and Monday we get to make sure it runs on the PS4 as well). Even with the help of Daniel Maciel here, who had done a similar thing already, it still took me a couple of hours all together.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">The thing is there's no reason for that, and I think there are lots of people out there who would like to use HarfBuzz on a variety of platforms if (a) they knew it existed, and (b) they knew they could just use it.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">It might seem that supporting Windows, random game consoles, etc, takes a lot of development work, but actually the opposite is true; all that needs to happen is removal of the dependency on an OS-dependant build system -- then the problem just goes away.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">It seems to me that the best way to do this is just to provide one .cpp file that just includes everything else. That way you just add a cpp to your project, include one .h where you want to use it, and you're done -- you don't have to worry about having build tools installed, static vs dynamic linkage, syncing up 64 vs 32-bit libraries, keeping straight all the precompiled libraries for all your OSs, etc.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">In general among people I know who ship software that runs on many OSs, this is the solution that has stood the test of time and is simple and just works for the maximum number of people. (Actually the absolute best thing to do, from a usability standpoint, is to pack everything into just one actual text file -- as in the stb libraries [<a href="https://github.com/nothings/stb" target="_blank">https://github.com/nothings/stb</a>] -- but beyond some size of project this may reduce understandability, so given that, an include-all cpp file is a reasonable compromise).</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Of course now that I have got this working for my current project, the strife involved in building does not matter so much for me, but as with any library the multiplier of any time saved becomes enormous the more people use the software. Conversely, a lot of programmers out there get a lot more powerful as soon as they don't have to deal with a bunch of friction in integrating some code.</div></div>
<br>_______________________________________________<br>
HarfBuzz mailing list<br>
<a href="mailto:HarfBuzz@lists.freedesktop.org">HarfBuzz@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/harfbuzz" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/harfbuzz</a><br>
<br></blockquote></div><br></div>