Преглед на файлове

V1.4.2
1、修改了sm、qxlse、spdlog、qmqtt等的文件查找

Apple преди 2 седмици
родител
ревизия
c594e78049

+ 1 - 1
Libraries/LHQLog/FindLHQLog.cmake

@@ -36,7 +36,7 @@ find_path(SOURCE_DIR
     NO_DEFAULT_PATH
 )
 
-list(APPEND LHQLog_SOURCE_DIRS ${SOURCE_DIR})
+list(APPEND LHQLog_SOURCE_DIRS ${SOURCE_DIR}/*.cpp)
 
 #查找库文件,在这里区分平台,Debug和Release,32位和64位
 unset(LIBRARY_DIR CACHE)

+ 0 - 2
Libraries/Libraries.cmake

@@ -25,8 +25,6 @@ else()
 endif()
 
 message(STATUS " ")
-message(STATUS "如果添加的是源文件,需要在路径后面添加/*.cpp,如:")
-message(STATUS "\${LHHTTPAPI_INCLUDE_DIRS}/*.cpp)")
 
 
 message(STATUS "==================================================")

+ 33 - 0
Libraries/QXlsx/FindQXlsx.cmake

@@ -85,3 +85,36 @@ message(STATUS "QXlsx Found : ${QXlsx_FOUND}")
 message(STATUS "QXlsx Version : ${QXlsx_VERSION}")
 message(STATUS "--------------------------------------------------")
 
+
+#导入目标
+if(QXlsx_FOUND)
+    if(NOT TARGET External::QXlsx)
+        add_library(External::QXlsx UNKNOWN IMPORTED)
+        #添加头文件
+        set_target_properties(External::QXlsx PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${QXlsx_INCLUDE_DIR}")
+
+        #添加库文件
+
+        set_target_properties(External::QXlsx PROPERTIES
+            IMPORTED_LOCATION "${QXlsx_LIBRARY}")
+        #添加spdlog需要的依赖库
+        # set_target_properties(External::sm PROPERTIES
+        #     INTERFACE_LINK_LIBRARIES "pthread")
+
+
+        #添加源文件
+        # set_target_properties(External::sm PROPERTIES
+        #    INTERFACE_SOURCES "${SM_SOURCES}")
+    endif()
+endif()
+
+# 标记这些变量为高级变量
+mark_as_advanced(
+    QXlsx_INCLUDE_DIR 
+    QXlsx_LIBRARY 
+)
+
+
+
+

+ 10 - 4
Libraries/VideoPlayer/FindVideoPlayer.cmake

@@ -7,10 +7,10 @@ message(STATUS "***** Find VideoPlayer Library *****")
 
 #寻找头文件,需要判断gcc编译器版本
 unset(VideoPlayer_INCLUDE_DIR CACHE)
-unset(VideoPlayer_SOURCE_DIR CACHE)
+unset(VideoPlayer_SOURCES CACHE)
 
 set(VideoPlayer_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/src)
-set(VideoPlayer_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/src)
+set(VideoPlayer_SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/*.cpp)
 
 unset(libDebug CACHE)
 unset(libRelease CACHE)
@@ -62,12 +62,12 @@ endif()
 
 
 
-if(VideoPlayer_INCLUDE_DIR AND VideoPlayer_SOURCE_DIR AND VideoPlayer_LIBRARY)
+if(VideoPlayer_INCLUDE_DIR AND VideoPlayer_SOURCES AND VideoPlayer_LIBRARY)
     set(VideoPlayer_FOUND TRUE)
     set(VideoPlayer_VERSION 1.0.0.0)
 
     message(STATUS "include : VideoPlayer_INCLUDE_DIR")
-    message(STATUS "source : VideoPlayer_SOURCE_DIR")
+    message(STATUS "source : VideoPlayer_SOURCES")
 
 else()
     set(VideoPlayer_FOUND FALSE)
@@ -76,3 +76,9 @@ endif()
 message(STATUS "VideoPlayer FOUND: ${VideoPlayer_FOUND}")
 message(STATUS "VideoPlayer Version: ${VideoPlayer_VERSION}")
 message(STATUS "--------------------------------------------------")
+
+
+
+
+
+

+ 34 - 2
Libraries/hiredis/Findhiredis.cmake

@@ -59,12 +59,44 @@ else()
     set(hiredis_FOUND FALSE)
 endif()
 
-message(STATUS "include : hiredis_INCLUDE_DIR")
-message(STATUS "Library : hiredis_LIBRARY")
+# message(STATUS "include : hiredis_INCLUDE_DIR")
+# message(STATUS "Library : hiredis_LIBRARY")
 # message(STATUS "Static Library : ssh2_STATIC_LIBRARY")
 
+message(STATUS "target_link_hiredis(External::hiredis)")
 
 
 message(STATUS "hiredis Found : ${hiredis_FOUND}")
 message(STATUS "hiredis Version : ${hiredis_VERSION}")
 message(STATUS "--------------------------------------------------")
+
+#导入目标
+if(hiredis_FOUND)
+    if(NOT TARGET External::hiredis)
+        add_library(External::hiredis UNKNOWN IMPORTED)
+        #添加头文件
+        set_target_properties(External::hiredis PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${hiredis_INCLUDE_DIR}")
+
+        #添加库文件
+
+        set_target_properties(External::hiredis PROPERTIES
+            IMPORTED_LOCATION "${hiredis_LIBRARY}")
+        #添加spdlog需要的依赖库
+        # set_target_properties(External::hiredis PROPERTIES
+        #     INTERFACE_LINK_LIBRARIES "pthread")
+
+
+        #添加源文件
+        # set_target_properties(External::hiredis PROPERTIES
+        #    INTERFACE_SOURCES "${hiredis_SOURCES}")
+    endif()
+endif()
+
+# 标记这些变量为高级变量
+mark_as_advanced(
+    hiredis_INCLUDE_DIR 
+    hiredis_LIBRARY 
+)
+
+

+ 85 - 27
Libraries/qmqtt/Findqmqtt.cmake

@@ -7,14 +7,37 @@ message(STATUS "***** Find qmqtt.cmake *****")
 
 
 # 1. 指定头文件路径
-find_path(qmqtt_INCLUDE_DIR
+unset(QMQTT_INCLUDE_DIR CACHE)
+unset(QMQTT_LIBRARY CACHE)
+unset(INCLUDE_DIR CACHE)
+find_path(INCLUDE_DIR
     NAMES qmqtt.h
     PATHS ${CMAKE_CURRENT_LIST_DIR}/inc
     NO_DEFAULT_PATH
 )
 
-# message(STATUS "Qt Version : ${Qt5Core_VERSION}")
-# message(STATUS "QT_VERSION_MAJOR : ${QT_VERSION_MAJOR}")
+list(APPEND QMQTT_INCLUDE_DIR ${INCLUDE_DIR})
+
+unset(INCLUDE_DIR CACHE)
+find_path(INCLUDE_DIR
+    NAMES MQTTBase.h
+    PATHS ${CMAKE_CURRENT_LIST_DIR}/mqttBase
+    NO_DEFAULT_PATH
+)
+
+list(APPEND QMQTT_INCLUDE_DIR ${INCLUDE_DIR})
+
+
+#添加源文件
+unset(QMQTT_SOURCES CACHE)
+find_path(INCLUDE_DIR
+    NAMES MQTTBase.cpp
+    PATHS ${CMAKE_CURRENT_LIST_DIR}/mqttBase
+    NO_DEFAULT_PATH
+)
+
+list(APPEND QMQTT_SOURCES ${INCLUDE_DIR}/MQTTBase.cpp)
+
 
 #区分Qt版本
 if(QT_VERSION_MAJOR EQUAL 5)
@@ -32,36 +55,36 @@ endif()
 
 
 # 2. 直接指定库文件,区分gcc,msvc,debug和release
-unset(qmqtt_LIBRARY CACHE)
+unset(QMQTT_LIBRARY CACHE)
 if(CMAKE_SYSTEM_NAME MATCHES "Windows")
     if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
         if(QtVersion STREQUAL "5.12")
             if(CMAKE_BUILD_TYPE STREQUAL "Debug")
-                list(APPEND 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()
-                list(APPEND 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()
         elseif(QtVersion STREQUAL "5.15")
             if(CMAKE_BUILD_TYPE STREQUAL "Debug")
-                list(APPEND 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()
-                list(APPEND 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()
     elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
         # message(STATUS "MSVC")
         if(QtVersion STREQUAL "5.12")
             if(CMAKE_BUILD_TYPE STREQUAL "Debug")
-                list(APPEND 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()
-                list(APPEND 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")
             
         elseif(QtVersion STREQUAL "5.15")
             if(CMAKE_BUILD_TYPE STREQUAL "Debug")
-                list(APPEND 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()
-                list(APPEND 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()
@@ -70,36 +93,71 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
     # message(STATUS "Using ${CMAKE_SYSTEM_NAME} System")
     if(QtVersion STREQUAL "5.12")
         if(CMAKE_BUILD_TYPE STREQUAL "Debug")
-            list(APPEND 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()
-            list(APPEND 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()
     elseif(QtVersion STREQUAL "5.15")
         if(CMAKE_BUILD_TYPE STREQUAL "Debug")
-            list(APPEND 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()
-            list(APPEND 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()
 
 
-# message("Include: " ${qmqtt_INCLUDE_DIR})
-# message("Library: " ${qmqtt_LIBRARY})
+# message("Include: " ${QMQTT_INCLUDE_DIR})
+# message("Library: " ${QMQTT_LIBRARY})
 # 3. 设置查找到了变量
-if(qmqtt_INCLUDE_DIR AND qmqtt_LIBRARY)
-    set(qmqtt_FOUND TRUE)
-    set(qmqtt_VERSION 1.0.3)
+if(QMQTT_INCLUDE_DIR AND QMQTT_LIBRARY)
+    set(QMQTT_FOUND TRUE)
+    set(QMQTT_VERSION 1.0.3)
+
+    # message(STATUS "qmqtt Version : ${QMQTT_VERSION}")
+    # message(STATUS "include : QMQTT_INCLUDE_DIR")
+    # message(STATUS "Library : QMQTT_LIBRARY")
+    # message(STATUS "Sources : QMQTT_SOURCES")
 
-    # message(STATUS "qmqtt Version : ${qmqtt_VERSION}")
-    message(STATUS "include : qmqtt_INCLUDE_DIR")
-    message(STATUS "Library : qmqtt_LIBRARY")
+    message(STATUS "target_link_libraries(YourTarget PRIVATE External::qmqtt)")
 else()
-    set(qmqtt_FOUND FALSE)
+    set(QMQTT_FOUND FALSE)
 endif()
 
 
-message(STATUS "qmqtt Found : ${qmqtt_FOUND}")
-message(STATUS "qmqtt Version : ${qmqtt_VERSION}")
+message(STATUS "qmqtt Found : ${QMQTT_FOUND}")
+message(STATUS "qmqtt Version : ${QMQTT_VERSION}")
 message(STATUS "--------------------------------------------------")
 
+
+#导入目标
+if(QMQTT_FOUND)
+    if(NOT TARGET External::qmqtt)
+        add_library(External::qmqtt UNKNOWN IMPORTED)
+        #添加头文件
+        set_target_properties(External::qmqtt PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${QMQTT_INCLUDE_DIR}")
+
+        #添加库文件
+
+        set_target_properties(External::qmqtt PROPERTIES
+            IMPORTED_LOCATION "${QMQTT_LIBRARY}")
+        #添加spdlog需要的依赖库
+        # set_target_properties(External::qmqtt PROPERTIES
+        #     INTERFACE_LINK_LIBRARIES "pthread")
+
+
+        #添加源文件
+        set_target_properties(External::qmqtt PROPERTIES
+           INTERFACE_SOURCES "${QMQTT_SOURCES}")
+    endif()
+endif()
+
+# 标记这些变量为高级变量
+mark_as_advanced(
+    QMQTT_INCLUDE_DIR 
+    QMQTT_LIBRARY 
+    QMQTT_SOURCES
+)
+
+

+ 0 - 0
module/mqtt/MQTTBase.cpp → Libraries/qmqtt/mqttBase/MQTTBase.cpp


+ 0 - 0
module/mqtt/MQTTBase.h → Libraries/qmqtt/mqttBase/MQTTBase.h


+ 55 - 20
Libraries/sm_dll/FindSM.cmake

@@ -5,6 +5,7 @@
 message(STATUS "***** Find SM Library *****")
 
 #寻找头文件
+unset(SM_INCLUDE_DIR CACHE)
 find_path(SM_INCLUDE_DIR
     NAMES smclass.h
     PATHS ${CMAKE_CURRENT_LIST_DIR}/inc
@@ -12,23 +13,17 @@ find_path(SM_INCLUDE_DIR
 )
 
 #查找源文件
-find_path(SM_SOURCE_DIR
-    NAMES smclass.cpp
-    PATHS ${CMAKE_CURRENT_LIST_DIR}/src
-    NO_DEFAULT_PATH
-)
+# find_path(SM_SOURCES_DIR
+#     NAMES smclass.cpp
+#     PATHS ${CMAKE_CURRENT_LIST_DIR}/src
+#     NO_DEFAULT_PATH
+# )
+
+unset(SM_SOURCES CACHE)
+list(APPEND SM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/smclass.cpp)
+
 
-#find_linrary查找的是“.lib”,“.a”,“.so”文件,不会查找.dll文件
-#因此,在这里无法使用,直接使用list添加路径
 
-# unset(SM_LIB CACHE)
-# find_library(SM_LIB
-#     NAMES SM_DLL
-#     HINTS ${CMAKE_CURRENT_LIST_DIR}/libs/win/x64
-#     NO_DEFAULT_PATH)
-            
-# list(APPEND SM_LIB_LIBRARY ${SM_LIB})
-# message(STATUS "SM_LIB: ${SM_LIB}")
 
 #查找库文件,需要判断操作系统,位数
 if(CMAKE_SYSTEM_NAME MATCHES "Windows")
@@ -65,18 +60,25 @@ endif()
 # message(STATUS "SM_LIB_LIBRARY: ${SM_LIB_LIBRARY}")
 
 # message(STATUS "SM_INCLUDE_DIR: ${SM_INCLUDE_DIR}")
-# message(STATUS "SM_SOURCE_DIR: ${SM_SOURCE_DIR}")
+# message(STATUS "SM_SOURCES: ${SM_SOURCES}")
 # message(STATUS "SM_LIB_LIBRARY: ${SM_LIB_LIBRARY}")
 
 
+
+
+
+
+
 #设置查找到后的变量
-if(SM_INCLUDE_DIR AND SM_SOURCE_DIR AND SM_LIB_LIBRARY)
+if(SM_INCLUDE_DIR AND SM_SOURCES AND SM_LIB_LIBRARY)
     set(SM_FOUND TRUE)
     set(SM_VERSION "1.1.0")
 
-    message(STATUS "include : SM_INCLUDE_DIR")
-    message(STATUS "source : SM_SOURCE_DIR")
-    message(STATUS "Library : SM_LIB_LIBRARY")
+    # message(STATUS "include : SM_INCLUDE_DIR")
+    # message(STATUS "source : SM_SOURCES_DIR")
+    # message(STATUS "Library : SM_LIB_LIBRARY")
+    message(STATUS "target_link_directories(External::sm)")
+
 else()
     set(SM_FOUND FALSE)
 endif()
@@ -86,3 +88,36 @@ endif()
 message(STATUS "SM_LIBRARY FOUND: ${SM_FOUND}")
 message(STATUS "SM_LIBRARY Version: ${SM_VERSION}")
 message(STATUS "--------------------------------------------------")
+
+
+#导入目标
+if(SM_FOUND)
+    if(NOT TARGET External::sm)
+        add_library(External::sm UNKNOWN IMPORTED)
+        #添加头文件
+        set_target_properties(External::sm PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${SM_INCLUDE_DIR}")
+
+        #添加库文件
+
+        set_target_properties(External::sm PROPERTIES
+            IMPORTED_LOCATION "${SM_LIB_LIBRARY}")
+        #添加spdlog需要的依赖库
+        # set_target_properties(External::sm PROPERTIES
+        #     INTERFACE_LINK_LIBRARIES "pthread")
+
+
+        #添加源文件
+        set_target_properties(External::sm PROPERTIES
+           INTERFACE_SOURCES "${SM_SOURCES}")
+    endif()
+endif()
+
+# 标记这些变量为高级变量
+mark_as_advanced(
+    SM_INCLUDE_DIR 
+    SM_LIB_LIBRARY 
+    SM_SOURCES
+)
+
+

+ 8 - 8
Libraries/spdlog/Findspdlog.cmake

@@ -148,14 +148,14 @@ if(spdlog_INCLUDE_DIR AND (spdlog_LIBRARY OR spdlog_STATIC_LIBRARY))
     set(spdlog_VERSION ${SPDLOG_V})
 
     message(STATUS "如果需要使用静态库,定义“ ENABLE_SPDLOG_STATIC_LIB ”变量")
-    message(STATUS "include : spdlog_INCLUDE_DIR")
-    if(spdlog_LIBRARY)
-        message(STATUS "Library : spdlog_LIBRARY")
-    endif()
-    if(ENABLE_SPDLOG_STATIC_LIB)
-        message(STATUS "Static Library : spdlog_STATIC_LIBRARY")
-    endif()
-
+    # message(STATUS "include : spdlog_INCLUDE_DIR")
+    # if(spdlog_LIBRARY)
+    #     message(STATUS "Library : spdlog_LIBRARY")
+    # endif()
+    # if(ENABLE_SPDLOG_STATIC_LIB)
+    #     message(STATUS "Static Library : spdlog_STATIC_LIBRARY")
+    # endif()
+    message(STATUS "使用方式: target_link_libraries(External::spdlog)")
     
 
 else()