[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFC] CMake branch at 90%



Hi,

the CMake branch now builds documentation, translations, and the
translated documentation as well. The buildsystem consists of various
CMakeLists.txt and files inside the CMake/ directory; all together
roughly 370 lines of code.

As agreed with mvo, we will drop support for all old compilers, i.e.
thus not supporting C99 (from which we use inttypes.h). The only checks
we have are for big endian, timegm() and pthread; all provided by CMake.

For documentation building, po4a-translate(1) is used to create the
translated xml files and xmlto is called to create the manpages. This
integrates better into CMake than running po4a(1) [Code in
CMake/Documentation.cmake].

Dropped:
    - Support for pre-C99 systems and most non-SUS2 systems
    - Support for doc translations which do not use po4a
      + Exception: guide.it.sgml, offline.pl.html
      + We want to migrate completely so supporting old stuff is silly
    - Pregeneration of documentation
      + We always build-depended on xmlto and po4a.
  
Missing:
    - dselect/ is not installed at the moment
    - Easy way to update translations and their templates
    - No check for programs like xmlto yet, will be added later.
      + If not installed, it would currently fail at some stage
        during the build, with check it would fail during configuration.

Not working:
    - German, French doc translations -> po4-generated files have
      syntax errors (hopefully not my fault)

Other changes:
    - Libraries are now libapt-pkg4.8 and libapt-inst1.1, without libc
      version and libstdc++ version.
    - Translations for apt-ftparchive and libapt-inst are now shipped
      in apt-utils

Building:
	mkdir build
	cd build
	cmake ..
	make

Build targets (excerpt):
	apt-pkg
	apt-inst
	doc-man
	debiandoc-apt
	debiandoc-libapt
Translation targets:
	nls-libapt-inst1.1
	nls-libapt-pkg4.8
	nls-apt
	nls-apt-ftparchive
	nls-doc-man

Configuration options (when running cmake):
	-DUSE_NLS=OFF  Disable translations
	-DWITH_DOC=OFF Disable documentation

Vcs-Browser: http://bzr.debian.org/loggerhead/apt/apt/cmake/
Vcs-Bzr: bzr+ssh://bzr.debian.org/bzr/apt/apt/cmake/ or
         nosmart+http://bzr.debian.org/apt/apt/cmake/




-- 
Julian Andres Klode - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


Reply to: