最简单的VS-Qt-CMake项目框架
2023-09-11 14:15:24 时间
使用qtcreator新建一个空工程,可以得到main.cpp,mainwindow.cpp,mainwindow.h和mainwindow.ui四个文件
下面主要介绍CMakeLists.txt的内容
cmake_minimum_required(VERSION 3.0) SET(PRODUCT_NAME ReadS3C) SET(PRODUCT_HEADER_FILES mainwindow.h ) SET(PRODUCT_UI_FILES mainwindow.ui ) SET(PRODUCT_FILES main.cpp mainwindow.cpp ${PRODUCT_HEADER_FILES} ) SET(PRODUCT_DATA_FILES ) SET(QT_FOUND FALSE) IF(${CMAKE_VERSION} VERSION_LESS "3.2.0") FIND_PACKAGE(Qt5Widgets) IF(Qt5Widgets_FOUND) ADD_DEFINITIONS(-DUSE_QT_VERSION=5) SET(QT_FOUND TRUE) ELSE(Qt5Widgets_FOUND) MESSAGE("*** Qt5 not found, which may be caused by missing/wrong CMake module files. " "You should set Qt5Widgets_DIR to $(QT_DIR)/lib/cmake/Qt5Widgets/ to find variables.") ENDIF(Qt5Widgets_FOUND) ELSE() FIND_PACKAGE(Qt5 COMPONENTS Widgets) IF(Qt5_FOUND) ADD_DEFINITIONS(-DUSE_QT_VERSION=5) SET(QT_FOUND TRUE) ENDIF(Qt5_FOUND) ENDIF() QT5_WRAP_UI(UI_FILES ${PRODUCT_UI_FILES}) QT5_WRAP_CPP(MOC_FILES ${PRODUCT_HEADER_FILES}) SET(PRODUCT_FILES ${PRODUCT_FILES} ${UI_FILES} ${MOC_FILES}) IF(WIN32) #SET(PRODUCT_FILES ${PRODUCT_FILES} my.rc) ENDIF(WIN32) IF(QT_FOUND) #QT5_ADD_RESOURCES(RES_FILES skin/qdarkstyle/style.qrc) ENDIF() SET(PRODUCT_FILES ${PRODUCT_FILES} ${RES_FILES}) SOURCE_GROUP("auto generated files" FILES ${UI_FILES} ${MOC_FILES} ${RES_FILES}) SOURCE_GROUP("ui files" FILES ${PRODUCT_UI_FILES}) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) #LINK_DIRECTORIES(${OSG_LIB_DIR}) SET(WITH_CONSOLE 1) IF(${WITH_CONSOLE}) ADD_EXECUTABLE(${PRODUCT_NAME} ${PRODUCT_FILES}) ELSE(${WITH_CONSOLE}) ADD_EXECUTABLE(${PRODUCT_NAME} WIN32 ${PRODUCT_FILES}) ENDIF(${WITH_CONSOLE}) SET_TARGET_PROPERTIES(${PRODUCT_NAME} PROPERTIES DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") TARGET_LINK_LIBRARIES(${PRODUCT_NAME} ${OPENGL_LIBRARIES} ${THIRD_PARTY_LIBRARIES} ${EXTERNAL_LIBRARIES} ) SET_TARGET_PROPERTIES(${PRODUCT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${PROJECT_BINARY_DIR}/lib" ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${PROJECT_BINARY_DIR}/lib" LIBRARY_OUTPUT_DIRECTORY_DEBUG "${PROJECT_BINARY_DIR}/lib" LIBRARY_OUTPUT_DIRECTORY_RELEASE "${PROJECT_BINARY_DIR}/lib" RUNTIME_OUTPUT_DIRECTORY_DEBUG "${PROJECT_BINARY_DIR}/bin" RUNTIME_OUTPUT_DIRECTORY_RELEASE "${PROJECT_BINARY_DIR}/bin") INSTALL(TARGETS ${PRODUCT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) INSTALL(FILES ${PRODUCT_DATA_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/data) IF(QT_FOUND) QT5_USE_MODULES(${PRODUCT_NAME} Widgets Network OpenGL) ENDIF(QT_FOUND)
相关文章
- VS 2013+Qt 5.4.1
- 关于OSG+QT+VS版本的问题
- VS-Qt-OSG-CMake基本项目框架
- qt中的进程优先级及应用内存大小设置方法,VS和Qt工程中申请超过2G的内存的方法
- QT中QLIST清空问题分析
- 【QT】QWebEngineView加载静态html页面
- 【QT】Qt项目demo:数据在ui界面上显示,鼠标双击可弹窗显示具体信息
- QT基础——核心模块QtCore
- QT基础——授权协议
- Qt编写可视化大屏电子看板系统17-柱状堆积图
- Qt音视频开发41-人脸识别嵌入式
- Qt编写的项目作品6-可视化大屏电子看板系统
- Qt编写自定义控件71-圆弧进度条
- Qt编写数据可视化大屏界面电子看板12-数据库采集
- QT in VS 多语言实现(中英文切换,每个步骤都有截图,只有UTF8才能让Qt语言家正确读取。先qApp->removeTranslator,然后installTranslator,每个类都要写上槽函数RetranslateUI)
- Qt之国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)
- 报错 qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found
- VS2010使用静态编译的qt库(Qt 5)
- Qt 有多少人折腾-qt for s60终于安装成功
- 【正点原子Linux连载】第八章 文本读写摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2
- [已解决]报错: qt.qpa.plugin: Could not load the Qt platform plugin "windows" in "" even though it ...
- 详解 QT 源码之 Qt 事件机制原理
- 查看和调试Qt源码(动态编译的QT也可进入源码)good