[NeXus-committee] why cmake for building the manual?

Pete Jemian prjemian at gmail.com
Fri Feb 27 15:57:08 GMT 2015


We're drifting off topic.  Let's work on the problem.

Plan is to use cmake for all our builds.
Current implementation of cmake:
* builds the manual
* is used in the publishing process
* does not work for incremental builds of the manual with Sphinx
** blocking problem for editor of the documentation (me)

We need expertise to overcome the problem or need to revert temporarily 
back to the system that worked while the cmake build system is 
re-engineered to do all it does now PLUS support incremental builds.

To understand the problem with incremental builds, see:
https://github.com/nexusformat/definitions/issues/360

Pete



On 2/27/2015 7:12 AM, Peterson, Peter F. wrote:
> Latex support has been in cmake for some time
> https://github.com/Kitware/CMake/blob/master/Modules/FindLATEX.cmake
>
> While I haven¹t tried latex, using the variables/functions that cmake
> defines is generally straightforward.
>
> On 2/27/15, 6:09 AM, "Koennecke Mark (PSI)" <mark.koennecke at psi.ch> wrote:
>
>> Hi,
>>
>>
>>> Am 27.02.2015 um 08:23 schrieb Eugen Wintersberger
>>> <eugen.wintersberger at desy.de>:
>>>
>>> On Thu, 2015-02-26 at 15:25 +0000, Tobias Richter wrote:
>>>> If implemented a single build system would be a neat idea. We are
>>>> transitioning to cmake for the last five years. At this moment we seem
>>>> to have persistent problems with the documentation build using cmake on
>>>> all OSes, cmake for napi and tools reportedly working for Windows but
>>>> not other platforms. That¹s not a success story.
>>>
>>>  From my personal experience with CMake (which I use for all my code) it
>>> is straight forward to build code (Fortran, C, C++). However, when one
>>> tries to build something else things are quickly getting tricky.
>>> It took my quite a while to figure out how to reliably build latex
>>> documents with cmake.
>>>
>>>>
>>
>>
>> As I remember it the original plan was to have the same build system for
>> both documentation and NAPI.
>>
>> Unlike Eugen, my personal experience with cmake (from building Mantid) is
>> that it can be painful and intransparent.
>> Autotools is painful as well. IMHO, when switching from autotools  to
>> cmake we are just swapping one pain for
>> another.  The pain can be attributed to the underlying problem of
>> managing complex dependencies across
>> platforms.
>>
>> May be we should make little matrix what work with autotools, what works
>> with cmake for both docs and NAPI and
>> stick with the best. Except an expert in either of these tools steps
>> forwards and volunteers a weeks worth of work
>> to fix it all. And feed our fixes upstream to cmake, autotools
>>
>> Regards,
>>
>>       Mark K.
>>
>>
>>
>>
>>>> So far I was certainly sitting back, watching the cmake experts do
>>>> their cross platform magic that I have no urgent need for. But there
>>>> seems to be more magic required than anticipated and the experts have
>>>> other problems to attend in their facilities.
>>>>
>>>> I would wish we make a decision on the way forward before the next
>>>> code camp, keeping in mind both what the best solution is and what
>>>> resources and know-how we have at our disposal.
>>>>
>>>> Regards,
>>>>
>>>> Tobias
>>>>
>>>>
>>>>
>>>>> On 26 Feb 2015, at 15:39, Eugen Wintersberger
>>>>> <eugen.wintersberger at desy.de> wrote:
>>>>>
>>>>> Ok - next try ;)
>>>>> On Thu, 2015-02-26 at 08:36 -0600, Pete Jemian wrote:
>>>>>> The old build system worked for me on Windows.
>>>>>
>>>>> :D
>>>>> Maybe the intention was to have a single build system for all sources?
>>>>>
>>>>>>
>>>>>> On 2/26/2015 8:35 AM, Eugen Wintersberger wrote:
>>>>>>> I think the general reason why people want to use cmake is that it
>>>>>>> also
>>>>>>> works on Windows ;).
>>>>>>> Although I am not sure if this was the particular reason why we
>>>>>>> wanted
>>>>>>> to build the documentation with cmake.
>>>>>>>
>>>>>>> Eugen
>>>>>>>
>>>>>>> On Wed, 2015-02-25 at 18:18 -0600, Pete Jemian wrote:
>>>>>>>> slight rant here:
>>>>>>>>
>>>>>>>> What, again, was our motivation for using cmake to build the
>>>>>>>> manual?
>>>>>>>> Let's go back to the Makefile system.  It was not broken.
>>>>>>>>
>>>>>>>> see https://github.com/nexusformat/definitions/issues/391
>>>>>>>>
>>>>>>>> Pete
>>>>>>>> _______________________________________________
>>>>>>>> NeXus-committee mailing list
>>>>>>>> NeXus-committee at nexusformat.org
>>>>>>>> http://lists.nexusformat.org/mailman/listinfo/nexus-committee
>>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> NeXus-committee mailing list
>>>>> NeXus-committee at nexusformat.org
>>>>> http://lists.nexusformat.org/mailman/listinfo/nexus-committee
>>>>
>>>
>>> _______________________________________________
>>> NeXus-committee mailing list
>>> NeXus-committee at nexusformat.org
>>> http://lists.nexusformat.org/mailman/listinfo/nexus-committee
>>
>>
>> _______________________________________________
>> NeXus-committee mailing list
>> NeXus-committee at nexusformat.org
>> http://lists.nexusformat.org/mailman/listinfo/nexus-committee
>
>
> _______________________________________________
> NeXus-committee mailing list
> NeXus-committee at nexusformat.org
> http://lists.nexusformat.org/mailman/listinfo/nexus-committee
>


More information about the NeXus-committee mailing list