# FindGperf

Try to find GNU gperf.

If the gperf executable is not in your PATH, you can provide an alternative name or full path location with the `Gperf_EXECUTABLE` variable.

This will define the following variables:

`Gperf_FOUND`

  True if gperf is available.

`Gperf_EXECUTABLE`

  The gperf executable.

`Gperf_VERSION`

  The gperf version. (since 5.85)

If `Gperf_FOUND` is TRUE, it will also define the following imported target:

`GPerf::Gperf`

  The gperf executable.

and the following public function:

    ecm_gperf_generate(<GperfInput> <OutputFile> <OutputVariable(|target (since 5.83))>
                       [GENERATION_FLAGS <flags>])

Run `gperf` on `<GperfInput>` to generate `<OutputFile>`, adding it to the `<OutputVariable>` variable which contains the source for the target where `<OutputFile>` is going to be built or, since KF 5.83, if the given argument is a target, to the list of private sources of that target. The target must not be an alias. The optional `GENERATION_FLAGS` argument is needed to pass extra parameters to `gperf` (note you cannot override that way the output file).

A simple invocation would be:

    ecm_gperf_generate(simple.gperf ${CMAKE_CURRENT_BINARY_DIR}/simple.h MySources)

Since 5.35.0.