Files
MyChat_Client/CMakeLists.txt

81 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(ClientChat VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 查找Qt版本
find_package(Qt6 COMPONENTS Widgets QUIET)
if(NOT Qt6_FOUND)
find_package(Qt5 COMPONENTS Widgets REQUIRED)
set(QT_VERSION_MAJOR 5)
else()
set(QT_VERSION_MAJOR 6)
endif()
#set(PROJECT_SOURCES
# main.cpp
# mainwidget.cpp
# mainwidget.h
# mainwidget.ui
# model/data.h
# resource.qrc
# sessionfriendarea.h
# sessionfriendarea.cpp
# debug.h
# messageshowarea.h
# messageshowarea.cpp
# messageeditarea.h
# messageeditarea.cpp
# SelfInfoWidget.h
# SelfInfoWidget.cpp
# userinfowidget.h
# userinfowidget.cpp
# sessiondetailwidget.h
# sessiondetailwidget.cpp
# choosefrienddialog.h
# choosefrienddialog.cpp
# groupsessiondetailwidget.h
# groupsessiondetailwidget.cpp
#)
file(GLOB PROJECT_SOURCES
model/*.h
*.cpp
*.h
*.ui
*.qrc
)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(ClientChat
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
else()
if(ANDROID)
add_library(ClientChat SHARED ${PROJECT_SOURCES})
else()
add_executable(ClientChat ${PROJECT_SOURCES})
endif()
endif()
target_link_libraries(ClientChat PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
include(GNUInstallDirs)
install(TARGETS ClientChat
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(ClientChat)
endif()