diff options
author | Friedrich W. H. Kossebau <kossebau@kde.org> | 2021-07-18 11:27:08 +0200 |
---|---|---|
committer | Friedrich W. H. Kossebau <kossebau@kde.org> | 2021-07-18 11:27:08 +0200 |
commit | a143cf02e40a46d08b6960e9296ea44d40d41b3f (patch) | |
tree | c1475527f2c30f6bd8b676cc848d5828aa617adc | |
parent | 95d1808924d9ecdf3037939ba78950fe20ee1396 (diff) | |
download | extra-cmake-modules-a143cf02e40a46d08b6960e9296ea44d40d41b3f.tar.gz extra-cmake-modules-a143cf02e40a46d08b6960e9296ea44d40d41b3f.tar.bz2 |
FindGperf: support version check
-rw-r--r-- | find-modules/FindGperf.cmake | 18 |
1 files changed, 18 insertions, 0 deletions
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) |