diff --git a/CMakeLists.txt b/CMakeLists.txt index 9003e43..f0d0cec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,12 @@ cmake_minimum_required(VERSION 3.5) project(DPS) +find_package(Qt5 COMPONENTS Core Widgets Gui REQUIRED) +# 启用自动处理 UIC/MOC/RCC +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type (Debug/Release/RelWithDebInfo/MinSizeRel)" FORCE) endif() @@ -10,6 +16,7 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -O0") # Debug模式: set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") # Release模式:最大优化[2,6](@ref) if(MSVC) add_compile_options(/W4 /WX) # Windows: 开启所有警告并视警告为错误 + add_compile_options(/utf-8) else() add_compile_options(-Wall -Wextra -Wpedantic -Werror) # Linux/macOS: 严格警告[1](@ref) endif() @@ -36,8 +43,14 @@ file(GLOB_RECURSE HEADERS "include/*.hpp" "include/*.h") add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}) +# 链接 Qt 模块 +target_link_libraries(${PROJECT_NAME} PRIVATE + Qt${QT_VERSION_MAJOR}::Core + Qt${QT_VERSION_MAJOR}::Widgets + +) + install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib ) -