[scribus] 1.3.3.12 no odt support???

Craig Ringer craig at postnewspapers.com.au
Mon Jun 30 03:42:31 CEST 2008


Craig Bradney wrote:
>> Sorry. I forget the rather verbose incantation from release to 
>> release.  And the cmake instructions don't describe the simple case. 
>> So how about this:
>> Include with the release a file called e.g., configure. The contents 
>> would be as follows:
>>
>> cmake -DCMAKE_INSTALL_PREFIX:PATH=.
>> make
>> make install
>>
>> That way the end user won't have to look it all up every time, or 
>> bother the list.
>>
>> I lost all my hair years ago, struggling with JCL.
> 
> People need to learn cmake, many other apps are moving to it, Scribus was
> one of the early adopters when it was clear cmake would become a prominent
> build system over a year ago. 

This feedback does tell us some things, though:

- People don't read the build documentation, they just go ahead and use
what they're used to. Therefore, it'd be helpful if Scribus made what
they're used to doing work OR provided a script that prints short,
simple instructions for what they need to do instead.

- The option syntax of CMake may be perceived as more difficult / less
usable.

I can add one from my own experience with it, too:

- The default error handling and message formatting from CMake is
absolutely awful. It can be even harder to see what's gone wrong than in
autohell. Cmake assumes you're using ccmake to set it up and are happy
poking at cmake variables directly. Its error messages reflect that, and
are exceptionally unhelpful to anybody not using ccmake.

I spent quite a while improving Scribus's error handling with autotools,
so it printed a message telling users what went wrong, why, and what to
do about it. I also tried to ensure that the post-configure summary told
them what was going to happen. Something similar is needed with CMake IMO.

> Replacing "configure" by a script that does
> those instructions would be completely incorrect. cmake replaces make -f +
> ./configure.. 

It's actually quite common in projects that use non-autotools build
systems. Qt, for example. It strikes me as quite a good idea.

I'm writing a script now that does CMake detection and version testing,
warns the user if multiple CMake versions are found, then runs CMake. It
also parses the traditional --prefix argument to configure and
translates it for CMake, rejecting all other arguments rather than
ignoring them.

--
Craig Ringer




More information about the scribus mailing list