cmake-utils.eclass currently defines 10 helper functions to assist in
configuring packages.

For example:

local mycmakeargs=(
        $(cmake-utils_use_with foo LibFoo)
)

which outputs -DWITH_LibFoo=ON or OFF

Most of these helpers were introduced before, and could be replaced by,
usex:

local mycmakeargs=(
        -DWITH_LibFoo=$(usex foo)
)

In bug #514384 it has been discussed banning many/all of these helpers
in EAPI 6 and later.

With usex, it's much clearer what actually get passed to cmake, reducing
the chance of incorrect arguments, but $(cmake-utils_use_with foo
LibFoo) is considered by some to be cleaner-looking and nicer to read
than -DWITH_LibFoo=$(usex foo)

The helpers also pass the same option multiple times with different
capitalisation variants:

$(cmake-utils_use_with foo) emits -DWITH_foo=OFF -DWITH_FOO=OFF
-DWITH_Foo=OFF

This makes ebuild maintenance a little bit easier, at the expense of
being less "correct" and unknown configure option warnings useless

The helpers themselves are listed below in order of the number of
packages using them:

cmake-utils_use_with            135
cmake-utils_use_enable          106
cmake-utils_use_build           89
cmake-utils_use_find_package    75
cmake-utils_use_use             37
cmake-utils_use_disable         14
cmake-utils_use_want            10
cmake-utils_use_has             8
cmake-utils_use_no              3
cmake-utils_useno               2

What do you think?

Reply via email to