|
@@ -4,7 +4,7 @@
|
|
message(STATUS "***** Find qmqtt.cmake *****")
|
|
message(STATUS "***** Find qmqtt.cmake *****")
|
|
|
|
|
|
# 0. 定义qmqtt版本
|
|
# 0. 定义qmqtt版本
|
|
-set(qmqtt_VERSION 1.0.3)
|
|
|
|
|
|
+
|
|
|
|
|
|
# 1. 指定头文件路径
|
|
# 1. 指定头文件路径
|
|
find_path(qmqtt_INCLUDE_DIR
|
|
find_path(qmqtt_INCLUDE_DIR
|
|
@@ -15,49 +15,50 @@ find_path(qmqtt_INCLUDE_DIR
|
|
|
|
|
|
|
|
|
|
#区分Qt版本
|
|
#区分Qt版本
|
|
-if(Qt5Core_FOUND)
|
|
|
|
- # message(STATUS "Qt Version : ${Qt5Core_VERSION}")
|
|
|
|
|
|
+if(QT_VERSION_MAJOR EQUAL 5)
|
|
|
|
+ # message(STATUS "----------------Qt Version : ${Qt5Core_VERSION}")
|
|
if(${Qt5Core_VERSION} VERSION_LESS 5.15.0 AND ${Qt5Core_VERSION} VERSION_GREATER 5.12.0)
|
|
if(${Qt5Core_VERSION} VERSION_LESS 5.15.0 AND ${Qt5Core_VERSION} VERSION_GREATER 5.12.0)
|
|
set(QtVersion 5.12)
|
|
set(QtVersion 5.12)
|
|
elseif(${Qt5Core_VERSION} VERSION_GREATER_EQUAL 5.15.0)
|
|
elseif(${Qt5Core_VERSION} VERSION_GREATER_EQUAL 5.15.0)
|
|
set(QtVersion 5.15)
|
|
set(QtVersion 5.15)
|
|
endif()
|
|
endif()
|
|
-elseif(Qt6Core_FOUND)
|
|
|
|
|
|
+elseif(QT_VERSION_MAJOR EQUAL 6)
|
|
message(STATUS "Qt Version : ${Qt6Core_VERSION}")
|
|
message(STATUS "Qt Version : ${Qt6Core_VERSION}")
|
|
message(STATUS "qmqtt not support Qt6")
|
|
message(STATUS "qmqtt not support Qt6")
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
+
|
|
# 2. 直接指定库文件,区分gcc,msvc,debug和release
|
|
# 2. 直接指定库文件,区分gcc,msvc,debug和release
|
|
|
|
+unset(qmqtt_LIBRARY CACHE)
|
|
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
-
|
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|
if(QtVersion STREQUAL "5.12")
|
|
if(QtVersion STREQUAL "5.12")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/gcc/5.12.12/Qt5Qmqttd.dll)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/gcc/5.12.12/Qt5Qmqttd.dll)
|
|
else()
|
|
else()
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/gcc/5.12.12/Qt5Qmqtt.dll)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/gcc/5.12.12/Qt5Qmqtt.dll)
|
|
endif()
|
|
endif()
|
|
elseif(QtVersion STREQUAL "5.15")
|
|
elseif(QtVersion STREQUAL "5.15")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/gcc/5.15.2/debug/Qt5Qmqtt.dll)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/gcc/5.15.2/debug/Qt5Qmqtt.dll)
|
|
else()
|
|
else()
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/gcc/5.15.2/release/Qt5Qmqtt.dll)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/gcc/5.15.2/release/Qt5Qmqtt.dll)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif()
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
|
# message(STATUS "MSVC")
|
|
# message(STATUS "MSVC")
|
|
if(QtVersion STREQUAL "5.12")
|
|
if(QtVersion STREQUAL "5.12")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/msvc/5.12.12/Qt5Qmqttd.lib)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/msvc/5.12.12/Qt5Qmqttd.lib)
|
|
else()
|
|
else()
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/msvc/5.12.12/Qt5Qmqtt.lib)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/msvc/5.12.12/Qt5Qmqtt.lib)
|
|
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
|
|
|
elseif(QtVersion STREQUAL "5.15")
|
|
elseif(QtVersion STREQUAL "5.15")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/msvc/5.15.2/Qt5Qmqttd.lib)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/msvc/5.15.2/Qt5Qmqttd.lib)
|
|
else()
|
|
else()
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/msvc/5.15.2/Qt5Qmqtt.lib)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/msvc/5.15.2/Qt5Qmqtt.lib)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif()
|
|
@@ -66,22 +67,26 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
# message(STATUS "Using ${CMAKE_SYSTEM_NAME} System")
|
|
# message(STATUS "Using ${CMAKE_SYSTEM_NAME} System")
|
|
if(QtVersion STREQUAL "5.12")
|
|
if(QtVersion STREQUAL "5.12")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/5.12.12/debug/libQt5Qmqtt.so)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/5.12.12/debug/libQt5Qmqtt.so)
|
|
else()
|
|
else()
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/5.12.12/release/libQt5Qmqtt.so)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/5.12.12/release/libQt5Qmqtt.so)
|
|
endif()
|
|
endif()
|
|
elseif(QtVersion STREQUAL "5.15")
|
|
elseif(QtVersion STREQUAL "5.15")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/5.15.14/debug/libQt5Qmqtt.so)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/5.15.14/debug/libQt5Qmqtt.so)
|
|
else()
|
|
else()
|
|
- set(qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/5.15.14/debug/libQt5Qmqtt.so)
|
|
|
|
|
|
+ list(APPEND qmqtt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/5.15.14/debug/libQt5Qmqtt.so)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
+
|
|
|
|
+# message("Include: " ${qmqtt_INCLUDE_DIR})
|
|
|
|
+# message("Library: " ${qmqtt_LIBRARY})
|
|
# 3. 设置查找到了变量
|
|
# 3. 设置查找到了变量
|
|
if(qmqtt_INCLUDE_DIR AND qmqtt_LIBRARY)
|
|
if(qmqtt_INCLUDE_DIR AND qmqtt_LIBRARY)
|
|
set(qmqtt_FOUND TRUE)
|
|
set(qmqtt_FOUND TRUE)
|
|
|
|
+ set(qmqtt_VERSION 1.0.3)
|
|
|
|
|
|
# message(STATUS "qmqtt Version : ${qmqtt_VERSION}")
|
|
# message(STATUS "qmqtt Version : ${qmqtt_VERSION}")
|
|
message(STATUS "include : qmqtt_INCLUDE_DIR")
|
|
message(STATUS "include : qmqtt_INCLUDE_DIR")
|