Browse Source

cmake-dev: 拟定对 qt5 与 qt6 的兼容性构建处理

zinface 2 years ago
parent
commit
8e977da6a5

+ 7 - 3
cmake/modules/Notepad--.cmake

@@ -26,9 +26,13 @@ if(TRUE)
     )
     # target_link_libraries(${PROJECT_NAME} QSci)
     target_link_QSci(${PROJECT_NAME})
-    target_link_qt5_PrintSupport(${PROJECT_NAME})
-    target_link_qt5_XmlPatterns(${PROJECT_NAME})
-
+    if(USE_QT6)
+        target_link_qt6_PrintSupport(${PROJECT_NAME})
+        target_link_qt6_XmlPatterns(${PROJECT_NAME})
+    else()
+        target_link_qt5_PrintSupport(${PROJECT_NAME})
+        target_link_qt5_XmlPatterns(${PROJECT_NAME})
+    endif(USE_QT6)
 endif(TRUE)
 
 # ----------------- Notepad-- 插件支持相关  ----------------- #

+ 10 - 3
cmake/modules/QScint.cmake

@@ -34,9 +34,16 @@ if(TRUE)
         src/qscint/src/Qsci
         src/qscint/scintilla/src
         src/qscint/scintilla/include)
-    target_link_qt5(QSci)
-    target_link_qt5_PrintSupport(QSci)
-    target_link_qt5_Concurrent(QSci)
+    if(USE_QT6)
+        target_link_qt6(QSci)
+        target_link_qt6_Core5Compat(QSci)
+        target_link_qt6_PrintSupport(QSci)
+        target_link_qt6_Concurrent(QSci)
+    else()
+        target_link_qt5(QSci)
+        target_link_qt5_PrintSupport(QSci)
+        target_link_qt5_Concurrent(QSci)
+    endif(USE_QT6)
 endif(TRUE)
 
 

+ 5 - 0
cmake/platforms/linux-universal.cmake

@@ -67,6 +67,11 @@ if(CMAKE_HOST_UNIX)
     set(NOTEPAD_BUILD_BY_QT5 TRUE)
     set(NOTEPAD_BUILD_BY_QT6 FALSE)
 
+    if(USE_QT6)
+        set(NOTEPAD_BUILD_BY_QT5 FALSE)
+        set(NOTEPAD_BUILD_BY_QT6 TRUE)
+    endif(USE_QT6)
+
     # 定义在平台中插件应该安装的位置(待确定)
         # 定义在插件开发的 CMake 模块中,Notepad-- 是否将提供 "插件安装目录(位置)"
     set(NOTEPAD_PLUGIN_EXTERNAL_PLUGIN_INSTALL_DIRECTORY "")

+ 5 - 0
cmake/platforms/windows-deployqt.cmake

@@ -23,6 +23,11 @@ if(WINDOWS_DEPLOY_QT)
     endif()
 
     if (WINDOWS_DEPLOY_QT5 OR WINDOWS_DEPLOY_QT6)
+
+        if(USE_QT6)
+            set(WINDOWS_QT_DIR "${Qt6_DIR}")
+        endif(USE_QT6)
+
         message("[windows-deployqt.cmake]: find windployqt tool")
         message("    ${WINDOWS_QT_DIR}/../../../bin/windeployqt")
 

+ 5 - 0
cmake/platforms/windows-universal.cmake

@@ -52,6 +52,11 @@ if(CMAKE_HOST_WIN32)
     set(NOTEPAD_BUILD_BY_QT5 TRUE)
     set(NOTEPAD_BUILD_BY_QT6 FALSE)
 
+    if(USE_QT6)
+        set(NOTEPAD_BUILD_BY_QT5 FALSE)
+        set(NOTEPAD_BUILD_BY_QT6 TRUE)
+    endif(USE_QT6)
+
     # 定义在平台中插件应该安装的位置(待确定)
         # 定义在插件开发的 CMake 模块中,Notepad-- 是否将提供 "插件安装目录(位置)"
     set(NOTEPAD_PLUGIN_EXTERNAL_PLUGIN_INSTALL_DIRECTORY "")