cmake qt5

24 篇文章 3 订阅

项目使用cmake构建,用到了qt5,这里记录下。

qt5的cmake配置脚本

cmake_policy(VERSION 3.9)
project(Demo VERSION 0.1)
cmake_minimum_required(VERSION 3.9)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOMOC ON)  # 让qt5自动为QObject子类生成moc类,即添加信号和槽函数的实现
set(CMAKE_AUTORCC ON)  # 让qt5将资源文件 (图片等)编译成字符串,并编译到lib库中

set(CMAKE_PREFIX_PATH $ENV{QTDIR594})       # 设置qt5根目录,必须有
find_package(Qt5 COMPONENTS Core Gui Qml Quick REQUIRED)  # 搜索用到的qt5模块

set(HEADERS 
    appglobal.h
)

set(SOURCES 
    main.cpp
    appglobal.cpp
)

set(RESOURCES 
    qml.qrc
)

set(QMLS
    main.qml
)

add_executable(${PROJECT_NAME} ${HEADERS} ${SOURCES} ${RESOURCES} ${QMLS})
target_link_libraries(${PROJECT_NAME}  Qt5::Core Qt5::Gui Qt5::Qml Qt5::Quick)  # 关键一句,不断链接库,还包含对应的qt头文件目录

查找qt模块的功能

这里重点说下查找qt模块的功能,qt5这个功能做得比较好。
find_package(Qt5 COMPONENTS Widgets) 成功执行时,会生成以下cmake变量

VariableDescription
Qt5Widgets_VERSIONQt5Widgets 版本号
Qt5Widgets_LIBRARIESQt5Widgets 库路径
Qt5Widgets_INCLUDE_DIRSQt5Widgets 包含路径
Qt5Widgets_DEFINITIONSQt5Widgets 定义的宏
Qt5Widgets_COMPILE_DEFINITIONSQt5Widgets 编译参数
Qt5Widgets_FOUNDQt5Widgets 查找成功标志变量
Qt5Widgets_EXECUTABLE_COMPILE_FLAGS链接 Qt5Widgets 库的可执行文件的编译参数

在这句之后

target_link_libraries(${PROJECT_NAME}  Qt5::Widgets)

会自动悄悄执行include_directories(Qt5Widgets_INCLUDE_DIRS),十分方便。
回头要研究下,qt5怎么写的cmake配置。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值