CMakeLists.txt 929 B

1234567891011121314151617181920212223242526272829303132333435
  1. cmake_minimum_required(VERSION 3.16)
  2. project(RunTest VERSION 1.0.0 LANGUAGES CXX)
  3. set(CMAKE_CXX_STANDARD 17)
  4. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  5. set(CMAKE_AUTOMOC ON)
  6. set(CMAKE_AUTOUIC ON)
  7. set(CMAKE_AUTORCC ON)
  8. # 尝试寻找 Qt6,如果找不到则降级寻找 Qt5
  9. find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Gui Widgets)
  10. find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Widgets)
  11. # 包含所有的源文件和头文件
  12. file(GLOB_RECURSE SRC_FILES
  13. "src/*.cpp"
  14. "src/*.h"
  15. )
  16. # 可执行文件
  17. add_executable(RunTest main.cpp ${SRC_FILES})
  18. target_link_libraries(RunTest PRIVATE
  19. Qt${QT_VERSION_MAJOR}::Core
  20. Qt${QT_VERSION_MAJOR}::Gui
  21. Qt${QT_VERSION_MAJOR}::Widgets
  22. )
  23. # 添加 include 目录
  24. target_include_directories(RunTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
  25. # MSVC 编译器下强制使用 UTF-8 编码
  26. if(MSVC)
  27. target_compile_options(RunTest PRIVATE /utf-8)
  28. endif()