<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div></div><div>I think since it is header-only that we would not need to mangle it, but rather install it inside the smtk include tree (e.g., include/smtk/thirdparty/nlohmann_json) so that others can use exactly the version SMTK is compiled with. We can define a macro (yes!) for nlohmann's include path so that it is possible to use an external version or third party version:</div><div><br></div><div>#include "smtk/Options.h"</div><div>#include SMTK_NLOHMANN_JSON_H</div><div><br></div><div>    David</div><div><br>On Sep 14, 2017, at 10:44, Bob Obara <<a href="mailto:bob.obara@kitware.com">bob.obara@kitware.com</a>> wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=us-ascii">I definitely like the nlohmann version better - did we determine if we need to mangle it?  <div class=""><br class=""></div><div class="">So should it and pugiXML be moved into the superbuild in the near future as external projects?</div><div class=""><br class=""></div><div class="">Bob</div><div class=""><br class=""><div class=""><span style="orphans: 2; text-align: -webkit-auto; widows: 2;" class=""><br class=""></span></div><div class=""><span style="orphans: 2; text-align: -webkit-auto; widows: 2;" class="">Robert M. O'Bara, MEng.</span><div class=""><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Assistant Director of Scientific Computing<br class=""><br class="">Kitware Inc.<br class="">28 Corporate Drive<br class="">Suite 101<br class="">Clifton Park, NY 12065<br class=""><br class="">Phone: (518) 881- 4931</div><div class=""><br class=""></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Sep 13, 2017, at 5:37 PMEDT, David Thompson <<a href="mailto:david.thompson@kitware.com" class="">david.thompson@kitware.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi all,<br class=""><br class="">I've looked a little more into jsoncpp and nlohmann_json. Attached is my experiment with syntax and getting UUIDs and arrays of UUIDs serialized. nlohmann does not require calls to converter functions nor does it even require a converter... UUIDs just worked (however, we probably want a converter as its default behavior writes UUIDs as JSON arrays of unsigned integers).<br class=""><br class="">I continue to like nlohmann and dislike jsoncpp in terms of terseness and legibility of the resulting code. The one thing I dislike about nlohmann is that the repo seems to contain super-huge test files, making it slow to clone.<br class=""><br class="">Attached are example programs for each library that do the same thing (create JSON data including UUIDs). I have not tried parsing/dumping large objects.<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre"> </span>David<br class=""><br class=""><br class=""><span id="cid:C08336A6-5EC2-4137-A093-B373CA5683FC@kitware.com"><json.tar.gz></span></div></div></blockquote></div><br class=""></div></div></div></blockquote></body></html>