Changeset - 9d8cc029351b
[Not reviewed]
default
0 1 0
Hasan Yavuz ÖZDERYA - 7 years ago 2019-02-10 09:05:13
hy@ozderya.net
fix FindQwt script for platforms where qwt qt5 version isn't called 'qwt-qt5'

also added check for Qt version of the found qwt library
1 file changed with 23 insertions and 5 deletions:
0 comments (0 inline, 0 general)
cmake/modules/FindQwt.cmake
Show inline comments
 
#
 
# Copyright © 2017 Hasan Yavuz Özderya
 
# Copyright © 2019 Hasan Yavuz Özderya
 
#
 
# This file is part of serialplot.
 
#
 
# serialplot is free software: you can redistribute it and/or modify
 
# it under the terms of the GNU General Public License as published by
 
# the Free Software Foundation, either version 3 of the License, or
 
@@ -63,14 +63,13 @@ if(qwt_roots)
 
	endif(qwt_version_string)
 
  endforeach(qwt_root ${qwt_roots})
 
endif(qwt_roots)
 

	
 
if(QWT_ROOT)
 
  set(QWT_INCLUDE_DIR "${QWT_ROOT}/include")
 
  find_library(QWT_LIBRARY "qwt-qt5"
 
	PATHS "${QWT_ROOT}/lib")
 
  find_library(QWT_LIBRARY NAMES "qwt-qt5" "qwt" PATHS "${QWT_ROOT}/lib")
 
else (QWT_ROOT)
 
  ## Look into system locations
 
  find_path(QWT_INCLUDE_DIR qwt_plot.h PATHS /usr/include/qwt)
 
  # try extracting version information
 
  if (QWT_INCLUDE_DIR)
 
	unset(qwt_version_string)
 
@@ -87,36 +86,55 @@ else (QWT_ROOT)
 
		  set(QWT_INCLUDE_DIR "NOTFOUND")
 
		endif()
 
	  endif(Qwt_FIND_VERSION)
 
	endif(qwt_version_string)
 
  endif (QWT_INCLUDE_DIR)
 
  # look into system locations for lib file
 
  find_library(QWT_LIBRARY "qwt-qt5" PATHS /usr/lib)
 
  find_library(QWT_LIBRARY NAMES "qwt-qt5" "qwt" PATHS /usr/lib)
 
endif(QWT_ROOT)
 

	
 
# set version variables
 
if(QWT_VERSION)
 
  string(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1"
 
	QWT_MAJOR_VERSION ${QWT_VERSION})
 
  string(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\2"
 
	QWT_MINOR_VERSION ${QWT_VERSION})
 
  string(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\3"
 
	QWT_PATCH_VERSION ${QWT_VERSION})
 
endif(QWT_VERSION)
 

	
 
# check Qwt library 'Qt' version
 
if (QWT_LIBRARY)
 
  include(GetPrerequisites)
 
  GET_PREREQUISITES(${QWT_LIBRARY} qwt_lib_deps 0 0 "" "")
 
  set(qwt_is_qt5 FALSE)
 
  foreach (dep ${qwt_lib_deps})
 
    if (${dep} MATCHES "libQt5Gui")
 
      set(qwt_is_qt5 TRUE)
 
    endif()
 
  endforeach ()
 
  if (NOT qwt_is_qt5)
 
    message(WARNING "Found qwt library (${QWT_LIBRARY}) isn't compiled with Qt5!")
 
    LIST_PREREQUISITES(${QWT_LIBRARY})
 
  endif()
 
endif (QWT_LIBRARY)
 

	
 
# set QWT_FOUND
 
if(QWT_INCLUDE_DIR AND QWT_LIBRARY)
 
if(QWT_INCLUDE_DIR AND QWT_LIBRARY AND qwt_is_qt5)
 
  set(QWT_INCLUDE_DIRS ${QWT_INCLUDE_DIR})
 
  set(QWT_LIBRARIES ${QWT_LIBRARY})
 
  set(QWT_FOUND true)
 
else()
 
  set(QWT_FOUND false)
 
endif()
 

	
 
# errors
 
if(NOT QWT_FOUND)
 
  unset(QWT_INCLUDE_DIR CACHE)
 
  unset(QWT_LIBRARY CACHE)
 

	
 
  if(Qwt_FIND_QUIET)
 
	message(WARNING "Couldn't find Qwt.")
 
  elseif(Qwt_FIND_REQUIRED)
 
	message(FATAL_ERROR "Couldn't find Qwt.")
 
  endif(Qwt_FIND_QUIET)
 
endif(NOT QWT_FOUND)
0 comments (0 inline, 0 general)