From c89a790d60eacce5a39ddbbe30161677f10b5bab Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Mon, 13 Jul 2015 14:02:00 +0800 Subject: Qt 4 and 5 in one CMakeLists: subdirectories --- src/common/CMakeLists.txt | 28 ++++++++++++++++++++-------- src/fqterm/CMakeLists.txt | 42 +++++++++++++++++++++++++++++++++++------- src/protocol/CMakeLists.txt | 18 ++++++++++++++---- src/terminal/CMakeLists.txt | 18 +++++++++++++----- src/ui/CMakeLists.txt | 21 +++++++++++++++++++++ src/unite/CMakeLists.txt | 31 +++++++++++++++++++++---------- src/utilities/CMakeLists.txt | 16 ++++++++++------ 7 files changed, 134 insertions(+), 40 deletions(-) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index d3f0c09..30524fe 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -22,15 +22,27 @@ set(fqterm_common_SRCS fqterm_shortcuthelper.cpp ) -qt4_automoc(${fqterm_common_SRCS}) - -include_directories( - ${QT_INCLUDE_DIR} - ${QT_QTCORE_INCLUDE_DIR} - ${QT_QTGUI_INCLUDE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} -) +if(USE_QT5) + set(CMAKE_INCLUDE_CURRENT_DIR ON) + set(CMAKE_AUTOMOC ON) + find_package(Qt5Core REQUIRED) + find_package(Qt5Widgets REQUIRED) + find_package(Qt5Multimedia REQUIRED) +else(USE_QT5) + qt4_automoc(${fqterm_common_SRCS}) + include_directories( + ${QT_INCLUDE_DIR} + ${QT_QTCORE_INCLUDE_DIR} + ${QT_QTGUI_INCLUDE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ) +endif(USE_QT5) add_library(fqterm_common ${fqterm_common_SRCS} ) + +if(USE_QT5) + target_link_libraries(fqterm_common Qt5::Core Qt5::Widgets Qt5::Multimedia) +endif(USE_QT5) + \ No newline at end of file diff --git a/src/fqterm/CMakeLists.txt b/src/fqterm/CMakeLists.txt index b8d6e9a..aa1e173 100644 --- a/src/fqterm/CMakeLists.txt +++ b/src/fqterm/CMakeLists.txt @@ -23,6 +23,10 @@ ELSE(WIN32) set(global_shortcut_impl_SRCS 3rdparty/qxtglobalshortcut_mac.cpp) ELSE(APPLE) set(global_shortcut_impl_SRCS 3rdparty/qxtglobalshortcut_x11.cpp) + IF(USE_QT5) + find_package(Qt5X11Extras REQUIRED) + set(QXTLIB Qt5::X11Extras) + ENDIF(USE_QT5) ENDIF(APPLE) ENDIF(WIN32) set(GLOBAL_SHORTCUT_SRC @@ -44,14 +48,27 @@ set(3rdparty_SRCS ${GLOBAL_SHORTCUT_SRC} ) -qt4_automoc(${fqterm_SRCS} - ${3rdparty_SRCS} -) +if(USE_QT5) + set(CMAKE_AUTOMOC ON) + find_package(Qt5Core REQUIRED) + find_package(Qt5Widgets REQUIRED) + find_package(Qt5Network REQUIRED) + find_package(Qt5Script REQUIRED) -qt4_create_translation(fqterm_qm_file - ${fqterm_SRCS} - ${CMAKE_SOURCE_DIR}/res/dict/fqterm_zh_CN.ts -) + qt5_create_translation(fqterm_qm_file + ${fqterm_SRCS} + ${CMAKE_SOURCE_DIR}/res/dict/fqterm_zh_CN.ts + ) +else(USE_QT5) + qt4_automoc(${fqterm_SRCS} + ${3rdparty_SRCS} + ) + + qt4_create_translation(fqterm_qm_file + ${fqterm_SRCS} + ${CMAKE_SOURCE_DIR}/res/dict/fqterm_zh_CN.ts + ) +endif(USE_QT5) include_directories( ${QT_INCLUDE_DIR} @@ -83,3 +100,14 @@ add_dependencies(fqterm_main fqterm_utilities fqterm_unite ) + +if(USE_QT5) + target_link_libraries( + fqterm_main + Qt5::Core + Qt5::Widgets + Qt5::Network + Qt5::Script + ${QXTLIB} + ) +endif(USE_QT5) diff --git a/src/protocol/CMakeLists.txt b/src/protocol/CMakeLists.txt index fd0f9c9..8eeeb9b 100644 --- a/src/protocol/CMakeLists.txt +++ b/src/protocol/CMakeLists.txt @@ -44,10 +44,16 @@ set(internal_SRCS internal/fqterm_ssh_channel.cpp ) -qt4_automoc( - ${export_SRCS} - ${internal_SRCS} -) +if(USE_QT5) + set(CMAKE_AUTOMOC ON) + find_package(Qt5Core REQUIRED) + find_package(Qt5Network REQUIRED) +else(USE_QT5) + qt4_automoc( + ${export_SRCS} + ${internal_SRCS} + ) +endif(USE_QT5) include_directories( ${QT_INCLUDE_DIR} @@ -67,3 +73,7 @@ add_library(fqterm_protocol add_dependencies(fqterm_protocol fqterm_common ) + +if(USE_QT5) + target_link_libraries(fqterm_protocol Qt5::Core Qt5::Network) +endif(USE_QT5) diff --git a/src/terminal/CMakeLists.txt b/src/terminal/CMakeLists.txt index c3cf3db..92b120e 100644 --- a/src/terminal/CMakeLists.txt +++ b/src/terminal/CMakeLists.txt @@ -29,11 +29,6 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../protocol ) -QT4_AUTOMOC( - ${export_SRCS} - ${internal_SRCS} -) - add_library(fqterm_terminal ${export_SRCS} ${internal_SRCS} @@ -44,3 +39,16 @@ add_dependencies(fqterm_terminal fqterm_protocol fqterm_utilities ) + +if(USE_QT5) + set(CMAKE_AUTOMOC ON) + find_package(Qt5Core REQUIRED) + find_package(Qt5Network REQUIRED) + find_package(Qt5Widgets REQUIRED) + target_link_libraries(fqterm_terminal Qt5::Core Qt5::Widgets Qt5::Network) +else(USE_QT5) + QT4_AUTOMOC( + ${export_SRCS} + ${internal_SRCS} + ) +endif(USE_QT5) diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index dc5a873..bd1a373 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -87,6 +87,22 @@ set(fqterm_ui_UIS defineescape.ui ) +if(USE_QT5) +qt5_wrap_ui(fqterm_ui_UIS_H + ${fqterm_ui_UIS} +) + +set(CMAKE_AUTOMOC ON) +find_package(Qt5Core REQUIRED) +find_package(Qt5Widgets REQUIRED) +find_package(Qt5Network REQUIRED) + +qt5_create_translation(fqterm_ui_qm_file + ${fqterm_ui_UIS} + ${fqterm_ui_SRCS} + ${CMAKE_SOURCE_DIR}/res/dict/ui_zh_CN.ts +) +else(USE_QT5) qt4_wrap_ui(fqterm_ui_UIS_H ${fqterm_ui_UIS} ) @@ -101,6 +117,7 @@ qt4_create_translation(fqterm_ui_qm_file ${fqterm_ui_SRCS} ${CMAKE_SOURCE_DIR}/res/dict/ui_zh_CN.ts ) +endif(USE_QT5) include_directories( ${QT_INCLUDE_DIR} @@ -122,3 +139,7 @@ add_dependencies(fqterm_ui ) ADD_DEFINITIONS(-D "FQTERM_GIT_REVISION=\\\"${MCGGIT_WC_REVISION}\\\"") + +if(USE_QT5) + target_link_libraries(fqterm_ui Qt5::Core Qt5::Widgets) +endif(USE_QT5) diff --git a/src/unite/CMakeLists.txt b/src/unite/CMakeLists.txt index b093576..a8d9d96 100644 --- a/src/unite/CMakeLists.txt +++ b/src/unite/CMakeLists.txt @@ -19,17 +19,7 @@ set(fqunite_internal_SRCS internal/statebuilder.cpp ) -qt4_automoc( - ${fqunite_SRCS} - ${fqunite_internal_SRCS} -) - include_directories( - ${QT_INCLUDE_DIR} - ${QT_QTCORE_INCLUDE_DIR} - ${QT_QTNETWORK_INCLUDE_DIR} - ${QT_QTXML_INCLUDE_DIR} - ${QT_QTGUI_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/internal ${CMAKE_CURRENT_SOURCE_DIR}/../common @@ -41,6 +31,27 @@ add_library(fqterm_unite ${fqunite_internal_SRCS} ) +if(USE_QT5) + set(CMAKE_AUTOMOC ON) + find_package(Qt5Core REQUIRED) + find_package(Qt5Widgets REQUIRED) + find_package(Qt5Network REQUIRED) + find_package(Qt5Xml REQUIRED) + target_link_libraries(fqterm_unite + Qt5::Core + Qt5::Widgets + Qt5::Network + Qt5::Xml + ) +else(USE_QT5) + qt4_automoc( + ${fqunite_SRCS} + ${fqunite_internal_SRCS} + ) +endif(USE_QT5) + add_dependencies(fqterm_unite fqterm_common ) + + diff --git a/src/utilities/CMakeLists.txt b/src/utilities/CMakeLists.txt index af3c169..e74a0d9 100644 --- a/src/utilities/CMakeLists.txt +++ b/src/utilities/CMakeLists.txt @@ -12,13 +12,7 @@ set(fq_SRCS fqwcwidth.cpp ) -qt4_automoc(${fqterm_utilities_SRCS}) - include_directories( - ${QT_INCLUDE_DIR} - ${QT_QTCORE_INCLUDE_DIR} - ${QT_QTGUI_INCLUDE_DIR} - ${QT_QTNETWORK_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../common ${CMAKE_CURRENT_BINARY_DIR} ) @@ -31,3 +25,13 @@ add_library(fqterm_utilities add_dependencies(fqterm_utilities fqterm_common ) + +if(USE_QT5) + set(CMAKE_AUTOMOC ON) + find_package(Qt5Core REQUIRED) + find_package(Qt5Widgets REQUIRED) + find_package(Qt5Network REQUIRED) + target_link_libraries(fqterm_utilities Qt5::Core Qt5::Widgets Qt5::Network) +else(USE_QT5) + qt4_automoc(${fqterm_utilities_SRCS}) +endif(USE_QT5) -- cgit v1.2.3