FindGnuplot.cmake 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file Copyright.txt or https://cmake.org/licensing for details.
  3. #[=======================================================================[.rst:
  4. FindGnuplot
  5. -----------
  6. this module looks for gnuplot
  7. Once done this will define
  8. ::
  9. GNUPLOT_FOUND - system has Gnuplot
  10. GNUPLOT_EXECUTABLE - the Gnuplot executable
  11. GNUPLOT_VERSION_STRING - the version of Gnuplot found (since CMake 2.8.8)
  12. GNUPLOT_VERSION_STRING will not work for old versions like 3.7.1.
  13. #]=======================================================================]
  14. include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
  15. include(${CMAKE_CURRENT_LIST_DIR}/FindMsys.cmake)
  16. find_program(GNUPLOT_EXECUTABLE
  17. NAMES
  18. gnuplot
  19. pgnuplot
  20. wgnupl32
  21. PATHS
  22. ${CYGWIN_INSTALL_PATH}/bin
  23. ${MSYS_INSTALL_PATH}/usr/bin
  24. )
  25. if (GNUPLOT_EXECUTABLE)
  26. execute_process(COMMAND "${GNUPLOT_EXECUTABLE}" --version
  27. OUTPUT_VARIABLE GNUPLOT_OUTPUT_VARIABLE
  28. ERROR_QUIET
  29. OUTPUT_STRIP_TRAILING_WHITESPACE)
  30. string(REGEX REPLACE "^gnuplot ([0-9\\.]+)( patchlevel )?" "\\1." GNUPLOT_VERSION_STRING "${GNUPLOT_OUTPUT_VARIABLE}")
  31. string(REGEX REPLACE "\\.$" "" GNUPLOT_VERSION_STRING "${GNUPLOT_VERSION_STRING}")
  32. unset(GNUPLOT_OUTPUT_VARIABLE)
  33. endif()
  34. # for compatibility
  35. set(GNUPLOT ${GNUPLOT_EXECUTABLE})
  36. include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
  37. FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gnuplot
  38. REQUIRED_VARS GNUPLOT_EXECUTABLE
  39. VERSION_VAR GNUPLOT_VERSION_STRING)
  40. mark_as_advanced( GNUPLOT_EXECUTABLE )