meson: point users to disabled documentation when dot/doxygen is missing
authorPeter Hutterer <peter.hutterer@who-t.net>
Mon, 19 Mar 2018 04:52:57 +0000 (14:52 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 20 Mar 2018 05:32:01 +0000 (15:32 +1000)
Especially dot is hard to find for some users, so provide the solution to
their problems right there in the error message.

And because users are likely to just copy/paste, remove the disable-libwacom
option. Save them from themselves...

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
doc/building.dox
meson.build

index 8e302e0d013b4b245f48aac3385d8daa98d43faf..ef7793b08fa53157f7246b494c8e19fcf8e7ea5d 100644 (file)
@@ -28,9 +28,12 @@ $> sudo udevadm hwdb --update
 
 Additional options may also be specified. For example:
 @code
-$> meson --prefix=/usr -Ddocumentation=false -Dlibwacom=false builddir/
+$> meson --prefix=/usr -Ddocumentation=false builddir/
 @endcode
 
+We recommend that users disable the documentation, it's not usually required
+for testing and reduces the number of dependencies needed.
+
 The ```prefix``` or other options can be changed later with the
 ```mesonconf``` command. For example:
 @code
index 58ef31a4d57c0f40fb3b9d5bc438797bc9755131..fcd3d8c41045c237d8437134e68c2eb6dab96abe 100644 (file)
@@ -254,7 +254,15 @@ meson.add_install_script('src/libinput-restore-selinux-context.sh',
 ############ documentation ############
 
 if get_option('documentation')
-       doxygen = find_program('doxygen')
+       doxygen = find_program('doxygen', required : false)
+       if not doxygen.found()
+               error('Program "doxygen" not found or not executable. Try building with -Ddocumentation=false')
+       endif
+       dot = find_program('dot', required : false)
+       if not dot.found()
+               error('Program "dot" not found or not executable. Try building with -Ddocumentation=false')
+       endif
+
        doxygen_version_cmd = run_command(doxygen.path(), '--version')
        if doxygen_version_cmd.returncode() != 0
                error('Command "doxygen --version" failed.')
@@ -263,7 +271,6 @@ if get_option('documentation')
        if doxygen_version.version_compare('< 1.8.3')
                error('doxygen needs to be at least version 1.8.3 (have @0@)'.format(doxygen_version))
        endif
-       dot = find_program('dot')
        grep = find_program('grep')
        dot_version_cmd = run_command(dot.path(), '-V')
        if dot_version_cmd.returncode() != 0