Overhaul the ECM build system.

Review Request #126075 - Created Nov. 15, 2015 and submitted

Alex Merry
It should now be easier to read, and more featureful. Among other
tweaks, we now print a summary of dependencies and build options, and
the documentation is generated with more sensible breadcrumbs and
builds properly with Sphinx 1.3.

Configured, built and installed with CMake and with CMake 3.3.

Tested with various combinations of sphinx-build 1.3.1 (python2 and python3 versions) and qcollectiongenerator (Qt4 and Qt5 versions) installed or not.

All seem to work sensibly.

Generated HTML documentation checked by eye.

sphinx-build 1.2.2 (used by api.kde.org) not tested.

Example output:

-- Found Sphinx: /usr/bin/sphinx-build (found suitable version "1.3.1", minimum required is "1.2") 
-- Found QCollectionGenerator: /usr/bin/qcollectiongenerator (found version "1.0") 
-- The C compiler identification is GNU 5.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- The following features have been enabled:

 * BUILD_HTML_DOCS , Generate HTML documentation for installed modules.
 * BUILD_MAN_DOCS , Generate man page documentation for installed modules.
 * BUILD_QTHELP_DOCS , Generate QtHelp documentation for installed modules.
 * BUILD_TESTING , Build automated tests.

-- The following OPTIONAL packages have been found:

 * Sphinx (required version >= 1.2) , Tool to generate documentation. , <http://sphinx-doc.org/>
   Required to build documentation for Extra CMake Modules.
 * QCollectionGenerator , Qt help collection generator. , <http://www.qt.io/>
   Required to build Extra CMake Modules documentation in Qt Help format.
 * Qt5LinguistTools , Qt5 linguist tools. , <http://www.qt.io/>
   Required to run tests for the ECMPoQmTools module.
 * Qt5Core , Qt5 core library. , <http://www.qt.io/>
   Required to run tests for the ECMQtDeclareLoggingCategory module, and for some tests of the KDEInstallDirs module.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/kde-devel/src/extra-cmake-modules/build
Alex Merry
Alex Merry
David Faure
Alex Merry
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted with commit c941061aa989bba945e296aad47df22f9c8ddd5f by Alex Merry to branch master.