# FindQwt # -------- # # Find the Qwt libraries(Only for Qwt provided by LAMPCAE) # # Result Variables # ^^^^^^^^^^^^^^^^ # # The following variables will be defined: # # ``Qwt_FOUND`` True if Qwt found on the local system # # ``Qwt_VERSION`` Qwt Version(x.x.x) # # ``Qwt_VERSION_MAJOR`` Qwt Major Version # # ``Qwt_VERSION_MINOR`` Qwt Minor Version # # ``Qwt_VERSION_PATCH`` Qwt Patch Version # # ``QwtPolar_VERSION`` QwtPolar Version(x.x.x) # # ``QwtPolar_VERSION_MAJOR`` QwtPolar Major Version # # ``QwtPolar_VERSION_MINOR`` QwtPolar Minor Version # # ``QwtPolar_VERSION_PATCH`` QwtPolar Patch Version # # ``Qwt_DIRS`` Location of Qwt(root dir) # # ``Qwt_INCLUDE_DIRS`` Location of Qwt(QwtPolar) header files # # ``Qwt_LIBRARY_DIRS`` Location of Qwt(QwtPolar) libraries # # ``Qwt_LIBRARIES`` List of the Qwt libraries(with QwtPolar libraries) found # # ``Qwt_BINARY_DIRS`` Location of VTK binary # # 防止重复引入 if(LAMPCAE_Qwt_ALREADY_INCLUDED) return() endif() set(LAMPCAE_Qwt_ALREADY_INCLUDED 1) # find_path 搜索包含某个文件的路径 # 如果在某个路径下发现了该文件,该结果会被存储到该变量中;如果没有找到,存储的结果将会是-NOTFOUND set(Qwt_DIRS C:/Qwt) # 设置qwt 路径 find_path(Qwt_DIRS NAMES qwt.h PATHS C:/Qwt NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH ) set(Qwt_VERSION_MAJOR 6) set(Qwt_VERSION_MINOR 2) set(Qwt_VERSION_PATCH 0) #set(QwtPolar_VERSION_MAJOR 1) #set(QwtPolar_VERSION_MINOR 1) #set(QwtPolar_VERSION_PATCH 1) set(Qwt_VERSION "${Qwt_VERSION_MAJOR}.${Qwt_VERSION_MINOR}.${Qwt_VERSION_PATCH}") #set(QwtPolar_VERSION "${QwtPolar_VERSION_MAJOR}.${QwtPolar_VERSION_MINOR}.${QwtPolar_VERSION_PATCH}") find_path(Qwt_INCLUDE_DIRS NAMES qwt.h HINTS C:/Qwt/include ) find_path(Qwt_LIBRARY_DIRS NAMES qwt.lib libqwt.so HINTS C:/Qwt/lib ) find_path(Qwt_BINARY_DIRS NAMES qwt.dll libqwt.so HINTS C:/Qwt/lib ) set(Qwt_LIBRARIES LAMPCAE::QWT;LAMPCAE::QWTPOLAR) add_library(LAMPCAE::QWT SHARED IMPORTED) add_library(LAMPCAE::QWTPOLAR SHARED IMPORTED) set_property(TARGET LAMPCAE::QWT PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${Qwt_INCLUDE_DIRS}) set_property(TARGET LAMPCAE::QWT APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) set_property(TARGET LAMPCAE::QWT PROPERTY INTERFACE_LINK_LIBRARIES Qt5::Svg Qt5::OpenGL) set_property(TARGET LAMPCAE::QWT PROPERTY INTERFACE_COMPILE_DEFINITIONS "QWT_DLL") set_property(TARGET LAMPCAE::QWTPOLAR PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${Qwt_INCLUDE_DIRS}) set_property(TARGET LAMPCAE::QWTPOLAR APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) set_property(TARGET LAMPCAE::QWTPOLAR PROPERTY INTERFACE_LINK_LIBRARIES LAMPCAE::QWT Qt5::PrintSupport) if(CMAKE_SYSTEM_NAME STREQUAL "Linux") set_target_properties(LAMPCAE::QWT PROPERTIES IMPORTED_LOCATION_RELEASE "${Qwt_LIBRARY_DIRS}/libqwt.so.${Qwt_VERSION_MAJOR}.${Qwt_VERSION_MINOR}.${Qwt_VERSION_PATCH}" IMPORTED_SONAME_RELEASE "libqwt.so.${Qwt_VERSION_MAJOR}" ) # set_target_properties(LAMPCAE::QWTPOLAR PROPERTIES # IMPORTED_LOCATION_RELEASE "${Qwt_LIBRARY_DIRS}/libqwtpolar.so.${QwtPolar_VERSION_MAJOR}.${QwtPolar_VERSION_MINOR}.${QwtPolar_VERSION_PATCH}" # IMPORTED_SONAME_RELEASE "libqwtpolar.so.${QwtPolar_VERSION_MAJOR}" # ) elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") set_property(TARGET LAMPCAE::QWT APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) set_property(TARGET LAMPCAE::QWTPOLAR APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) set_target_properties(LAMPCAE::QWT PROPERTIES IMPORTED_IMPLIB_RELEASE "${Qwt_LIBRARY_DIRS}/qwt.lib" IMPORTED_LOCATION_RELEASE "${Qwt_BINARY_DIRS}/qwt.dll" IMPORTED_IMPLIB_DEBUG "${Qwt_LIBRARY_DIRS}/qwtd.lib" IMPORTED_LOCATION_DEBUG "${Qwt_BINARY_DIRS}/qwtd.dll" ) set_target_properties(LAMPCAE::QWTPOLAR PROPERTIES IMPORTED_IMPLIB_RELEASE "${Qwt_LIBRARY_DIRS}/qwt.lib" IMPORTED_LOCATION_RELEASE "${Qwt_BINARY_DIRS}/qwt.dll" IMPORTED_IMPLIB_DEBUG "${Qwt_LIBRARY_DIRS}/qwtd.lib" IMPORTED_LOCATION_DEBUG "${Qwt_BINARY_DIRS}/qwtd.dll" # qwtploar 集成进 qwt6.2.0 中 # IMPORTED_IMPLIB_RELEASE "${Qwt_LIBRARY_DIRS}/qwtpolar.lib" # IMPORTED_LOCATION_RELEASE "${Qwt_BINARY_DIRS}/qwtpolar.dll" # IMPORTED_IMPLIB_DEBUG "${Qwt_LIBRARY_DIRS}/qwtpolard.lib" # IMPORTED_LOCATION_DEBUG "${Qwt_BINARY_DIRS}/qwtpolard.dll" ) endif() include(FindPackageHandleStandardArgs) # 如果找到所有需要的变量,并且版本匹配,则将Qwt_FOUND变量设置为TRUE find_package_handle_standard_args(Qwt FOUND_VAR Qwt_FOUND REQUIRED_VARS Qwt_DIRS Qwt_INCLUDE_DIRS Qwt_LIBRARY_DIRS Qwt_LIBRARIES Qwt_BINARY_DIRS VERSION_VAR Qwt_VERSION )