qt 工程CMakeLists.txt

cmake_minimum_required(VERSION 3.13)

#指定Qt路径(按需设置)
#SET(CMAKE_PREFIX_PATH C:/Qt/Qt5.7.0/5.7/msvc2013//lib/cmake)
#list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

#设置sln名称
project(qtlearn)
# 关闭控制台 :+ WIN32
set(QT_USE_QTMAIN TRUE) 
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON) 
# 自动生成开关
set(CMAKE_AUTOMOC ON) 
#set(CMAKE_AUTOUIC ON) 
#set(CMAKE_AUTORCC ON) 		
# 查找lib
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)

# 查找 source
set(src_dir .)
foreach(dir ${src_dir})
	string(TOUPPER "${dir}" dir_u)			
	file(GLOB ${dir_u}_UI_FILES ${dir}/*.ui)
	file(GLOB ${dir_u}_H_FILES ${dir}/*.h)
	file(GLOB ${dir_u}_CXX_FILES ${dir}/*.cpp)	
	list(APPEND UI_FILES ${${dir_u}_UI_FILES})		
	list(APPEND SRCS_FILES ${${dir_u}_CXX_FILES})
	list(APPEND HEADER_FILES ${${dir_u}_H_FILES})
endforeach(dir ${src_dir})

# 自动生成的 mocs_compilation.cpp 包含所有配置的moc_*.cpp		
# ui_*.h 文件,需放置在find_package之后(Unknown CMake command "QT5_WRAP_UI")
if(UI_FILES)
	qt5_wrap_ui( UIC_SRCS ${UI_FILES}) 
endif()

# qrc_*.cpp 文件 
file(GLOB RESOURCE_FILES *.qrc)
if(RESOURCE_FILES)
	qt5_add_resources(RCC_SRCS ${RESOURCE_FILES}) 
endif()

# 添加 source
add_executable(${PROJECT_NAME} WIN32
				${SRCS_FILES}
				${HEADER_FILES}
				${UIC_SRCS}  # 添加此选项会生成 xxx_autogen 工程 
				#${UI_FILES} # 和${UIC_SRCS} 二选一
				${RCC_SRCS})
				
# 依赖
target_link_libraries(${PROJECT_NAME} 
				Qt5::Core	
				Qt5::Gui
				Qt5::Widgets			
				)	
				
# Filter 设置				
source_group("Form Files" FILES ${UI_FILES})
source_group("Generated Files" FILES ${UIC_SRCS} ${RCC_SRCS} )
source_group("Resources" FILES ${RESOURCE_FILES})

# 运行环境
set(RUN_ENVIROMENT $(QTDIR)/bin%3b)					
set_target_properties(${PROJECT_NAME}   PROPERTIES
	VS_DEBUGGER_ENVIRONMENT "PATH=${RUN_ENVIROMENT}$(PATH)")

  • 关闭autogen工程设置
#1、使用如下设置,2、取消CMAKE_AUTOMOC 3、不使用qt5_wrap_ui等  
set_target_properties(${PROJECT_NAME} PROPERTIES 
    AUTOMOC ON
    AUTORCC ON
    AUTOUIC ON)
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值