Files
MyChat_Client/CMakeLists.txt
2025-06-08 20:20:37 +08:00

62 lines
1.3 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)
# set(CMAKE_PREFIX_PATH C:/src/vcpkg/installed/x64-windows)
# 查找Qt版本
find_package(Qt6 COMPONENTS Protobuf Widgets QUIET)
set(QT_VERSION_MAJOR 6)
file(GLOB PB_FILES
proto/*.proto
)
file(GLOB_RECURSE PROJECT_SOURCES
*.cpp
*.h
*.ui
*.qrc
)
if(ANDROID)
# Android 平台:附加 Android 可部署资源
qt_add_executable(ClientChat
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
# 指定自定义的 Android 部署目录
# set_property(TARGET ClientChat APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
else()
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(ClientChat
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
qt_add_protobuf(ClientChat PROTO_FILES ${PB_FILES})
endif()
endif()
target_link_libraries(ClientChat PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
if(${QT_VERSION_MAJOR} EQUAL 6)
qt_finalize_executable(ClientChat)
endif()
include(GNUInstallDirs)
install(TARGETS ClientChat
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)