vcpkg+cmake+qt的vs2019工程框架搭建
概要
cmake工程已经应用非常普及,vcpkg可以很方便的应用第三方库,省去了自己编译第三方库的时间,本文档说明基于cmake+qt+vcpkg的多项目结构搭建。
项目目录结构
|—games #游戏集根目录
cmakefilelist.txt #根cmake文件
|—build #cmake生成vs2019的工程目录
|—source #源代码根目录, 可以包含多个独立的游戏
cmakefilelist.txt #源代码cmake文件
|—coin #翻金币游戏
cmakefilelist.txt #翻金币cmake文件
|—snake # 贪吃蛇游戏
各个cmakefilelist文件说明
根cmakefilelist.txt
#project games
cmake_minimum_required(VERSION 3.17.0)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
#游戏根项目
project(games)
message(STATUS "Target processor: ${CMAKE_SYSTEM_PROCESSOR}")
message(STATUS "Host processor: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
if (WIN32)
find_package(Qt5 REQUIRED Core Gui Network PrintSupport Widgets Xml)
find_package(Qt5WinExtras REQUIRED)
#find_package(Qt5LinguistTools)
endif()
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
#源码目录
add_subdirectory(source)
source源码目录cmakefilelist.txt
include(GNUInstallDirs)
# Qt configuration.
set(CMAKE_INCLUDE_CURRENT_DIR ON)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake