From a143cf02e40a46d08b6960e9296ea44d40d41b3f Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Sun, 18 Jul 2021 11:27:08 +0200 Subject: FindGperf: support version check --- find-modules/FindGperf.cmake | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/find-modules/FindGperf.cmake b/find-modules/FindGperf.cmake index 4eb00e70..42877a0f 100644 --- a/find-modules/FindGperf.cmake +++ b/find-modules/FindGperf.cmake @@ -20,6 +20,9 @@ This will define the following variables: ``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: @@ -56,12 +59,27 @@ ecm_find_package_version_check(Gperf) # Find gperf find_program(Gperf_EXECUTABLE NAMES gperf) +if(Gperf_EXECUTABLE) + execute_process(COMMAND ${Gperf_EXECUTABLE} -v + OUTPUT_VARIABLE _version_string + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(_version_string MATCHES "^GNU gperf ([-0-9\\.]+)") + set(Gperf_VERSION "${CMAKE_MATCH_1}") + endif() + unset(_version_string) +else() + set(Gperf_VERSION) +endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Gperf FOUND_VAR Gperf_FOUND REQUIRED_VARS Gperf_EXECUTABLE + VERSION_VAR + Gperf_VERSION ) mark_as_advanced(Gperf_EXECUTABLE) -- cgit v1.2.1