<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">This discussion should probably be put on the CMB SuperBuild Wiki(as FAQ regarding using the SuperBuild) and a reference in the CMB SuperBuild Readme.<div class=""><br class=""><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="">Robert M. O'Bara, MEng.<br 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 26, 2016, at 1:18 PMEDT, Ben Boeckel <<a href="mailto:ben.boeckel@kitware.com" class="">ben.boeckel@kitware.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On Sat, Sep 24, 2016 at 19:45:18 -0400, David Thompson wrote:<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">1. When cmb-superbuild is cloned (and submodules updated) does it<br class="">pull in the current master head versions of cmb and smtk?<br class=""></blockquote></blockquote><br class="">No, they are not cloned as part of the superbuild itself; the build will<br class="">default to building the master branches though.<br class=""><br class=""><blockquote type="cite" class="">That depends on whether you have set the superbuild to developer mode<br class="">or not. The default is not developer mode, which will fetch CMB and<br class="">SMTK into the superbuild's **build tree** (i.e., not the superbuild<br class="">source). They are currently both pulling the master branches, but that<br class="">is likely to change.<br class=""></blockquote><br class="">This is by default. There are also `smtk_FROM_GIT` (default to ON) and<br class="">`smtk_FROM_SOURCE_DIR` (defaults to OFF and only available if<br class="">`smtk_FROM_GIT` is also OFF). If both are OFF, it will try to fetch the<br class="">latest release's tarball (which doesn't exist right now). If you are<br class="">using git, you can use `smtk_GIT_REPOSITORY` and `smtk_GIT_TAG` (though<br class="">these might have upper case names now, that should be changing with<br class="">backwards support; use what you see in the editor) to whatever you want.<br class="">If you want to use the superbuild with a custom SMTK build, use<br class="">`smtk_FROM_SOURCE_DIR` and point it at whatever source tree you want.<br class="">This is what you want if you want to test out custom binaries with an<br class="">arbitrary SMTK and/or CMB. CMB has the same set of flags with the<br class="">obvious name replacements.<br class=""><br class="">The rule of thumb is that if it is outside the superbuild build tree,<br class="">it's safe, but underneath it is fair game for the superbuild to do<br class="">whatever it wants to those directories.<br class=""><br class=""><blockquote type="cite" class="">2. Remove the "install" directory of any existing superbuild's build tree.<br class=""></blockquote><br class="">For safety with this step, also remove `superbuild/*/stamp/*-install` so<br class="">that the superbuild knows it needs to reinstall all the projects.<br class=""><br class=""><blockquote type="cite" class="">You should always do #1 when updating the superbuild. #2 is because of<br class="">some recent changes and you should always need to do this, although it<br class="">is a good step to try when hitting build issues.<br class=""><br class=""><blockquote type="cite" class="">3. I'm going to be testing model-builder on a workflow being<br class="">developed, so I expect I'm going to want to be pulling in the latest<br class="">changes on cmb/smtk. What I'd like, is to use cmb-superbuild to<br class="">build and package just the TPLs, which I can stick somewhere, and<br class="">then build cmb/smtk from their repos, pointing to the TPL<br class="">installation. I'm sure this must be one of the workflows, but I<br class="">don't know how to do it. I noted the DEVELOPER_MODE_{cmb,smtk} cmake<br class="">variables, which I suspect are relevant somehow.<br class=""></blockquote><br class="">Yes, when the DEVELOPER_MODE_xxx variables are set, then only TPL<br class="">libraries are built; you are expected to build CMB and/or SMTK<br class="">elsewhere. Take care when you do this because you must use the same<br class="">TPLs everywhere. On my machine, I will get system versions of boost,<br class="">hdf5, gdal, etc. when I build SMTK without explicitly pointing<br class="">CMakeCache.txt to the superbuild.<br class=""></blockquote><br class="">Yes, the superbuild build dumps an "smtk-developer-config.cmake" into<br class="">its build tree which you use with `cmake -C<br class="">.../smtk-developer-config.cmake ...` to make SMTK use it (and again,<br class="">obvious name changes for CMB as well). You may need to set the<br class="">environment up to use the superbuild's tree (particularly PYTHONPATH<br class="">and, on Windows, PATH).<br class=""><br class="">--Ben<br class="">_______________________________________________<br class="">Cmb-users mailing list<br class=""><a href="mailto:Cmb-users@computationalmodelbuilder.org" class="">Cmb-users@computationalmodelbuilder.org</a><br class="">http://public.kitware.com/mailman/listinfo/cmb-users<br class=""></div></div></blockquote></div><br class=""></div></body></html>