cmake_minimum_required(VERSION 3.16) project(RunTest VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) # 尝试寻找 Qt6,如果找不到则降级寻找 Qt5 find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Gui Widgets) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Widgets) # 包含所有的源文件和头文件 file(GLOB_RECURSE SRC_FILES "src/*.cpp" "src/*.h" ) # 可执行文件 add_executable(RunTest main.cpp ${SRC_FILES}) target_link_libraries(RunTest PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Widgets ) # 添加 include 目录 target_include_directories(RunTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) # MSVC 编译器下强制使用 UTF-8 编码 if(MSVC) target_compile_options(RunTest PRIVATE /utf-8) endif()