1 Star 3 Fork 1

xin-yue/Qt飞机大战

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
CMakeLists.txt 2.21 KB
一键复制 编辑 原始数据 按行查看 历史
xin-yue 提交于 2023-01-11 23:56 . 添加项目文件。
#请求CAMKE的最小构建版本
cmake_minimum_required(VERSION 3.5)
#设置项目名称
project(Plane VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#在MSVC上必须指定 /Zc:__cplusplus 选项
if(MSVC)
add_compile_options(/Zc:__cplusplus)
#指定头文件包含目录
include_directories("D:\\Qt\\6.2.4\\msvc2019_64\\include")
endif()
#自动查找头文件路径函数(没有去重)
macro(FIND_INCLUDE_DIR result curdir) #定义函数,2个参数:存放结果result;指定路径curdir;
file(GLOB_RECURSE children "${curdir}/*.hpp" "${curdir}/*.h" ) #遍历获取{curdir}中*.hpp和*.h文件列表
message(STATUS "children= ${children}") #打印*.hpp和*.h的文件列表
set(dirlist "") #定义dirlist中间变量,并初始化
foreach(child ${children}) #for循环
string(REGEX REPLACE "(.*)/.*" "\\1" LIB_NAME ${child}) #字符串替换,用/前的字符替换/*h
if(IS_DIRECTORY ${LIB_NAME}) #判断是否为路径
LIST(APPEND dirlist ${LIB_NAME}) #将合法的路径加入dirlist变量中
endif() #结束判断
endforeach() #结束for循环
set(${result} ${dirlist}) #dirlist结果放入result变量中
endmacro() #函数结束
#查找include目录下的所有*.hpp,*.h头文件,并路径列表保存到 INCLUDE_DIR_LIST 变量中
FIND_INCLUDE_DIR(INCLUDE_DIR_LIST "SourceFile") #调用函数,指定参数
#将INCLUDE_DIR_LIST中路径列表加入工程
include_directories(${INCLUDE_DIR_LIST})
#递归搜索目录下的文件添加到变量中
file(GLOB_RECURSE QtFILE "SourceFile/*.cpp" "SourceFile/*.h")
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets )
#设置图标
aux_source_directory(. MY_SCOURCES)
#设置可执行文件的输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
#添加参加编译的文件
add_executable(${PROJECT_NAME}
${QtFILE}
)
target_link_libraries(${PROJECT_NAME} Qt${QT_VERSION_MAJOR}::Widgets )
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xin___yue/qt-Battle-of-the-Planes.git
git@gitee.com:xin___yue/qt-Battle-of-the-Planes.git
xin___yue
qt-Battle-of-the-Planes
Qt飞机大战
master

搜索帮助