[xiphos-devel] CMake port

dominique at corbex.org dominique at corbex.org
Sun May 13 13:52:20 MST 2018

Port to CMake initial commit
First I must thank people I was greatly inspired by:
- Daniel Pfeifer: CMake introduction and best practices
- Manuel Binna: Effective Modern CMake
- Pablo Arias: It's Time To Do CMake Right

I tried, in porting Xiphos build system from waf to CMake, to
- provide the same features and options than waf
- keep it simple (please, don't look in the mhelp dir..)
- document everything
- validate files (xml)
- do not brake the waf build

** Features

- The hassle to deal with scrollkeeper and omf files was not worth the effort,
so I switched the Help from Docbook to Mallard encoding.

- I had to slightly modify xiphos.appdata.xml, the current one doesn't validate.

- Windows Help Files are compiled with the chmcmd utility from FPC, the Free
Pascal Compiler

** Issues

- You'll need biblesync 2.0.1

- I sometimes encountered build failures, an error occured during the task of
validating mallard pages, due to a race condition. I think it's now fixed, but
if this error happens again, run: '$ make -j1' as a workaround.

- The PDF file looks ugly, the conversion tool (htmldoc) is not UTF-8 aware...

- The Windows© installer doesn't install fonts and do not display RELEASE-NOTES.
 I still have to figure out how to do this.

- The Windows Help files (.chm) need refinement.

** Final notes

- I regularly run Xiphos on Fedora 27 installed from a rpm built on a daily
basis with CMake.

- I also run Xiphos on Debian Stretch from deb packages made by 'make

- But I know next to nothing about Windows©, so I can't tell you if the
generated EXE files are Ok. All I know is that I was able to install
and run the 32bits version in a Windows 7 VM, then download and display
a Bible, Help files and a few other things. I only ran the 64bits in
Wine, doing more or less similar tasks. So the EXE files may still have
a programming glitch or bug or something corrupted. 

- See INSTALLcmake.md for building Xiphos with CMake.

dominique at corbex.org <dominique at corbex.org>

More information about the xiphos-devel mailing list