制作 | UWP :: 使用 Cmake 构建通用 Windows 应用程序
Posted
技术标签:
【中文标题】制作 | UWP :: 使用 Cmake 构建通用 Windows 应用程序【英文标题】:Cmake | UWP :: Using Cmake to build Universal Windows App 【发布时间】:2017-04-09 17:56:15 【问题描述】:如何使用 CMake 构建通用 Windows 应用程序。我已经搜索了很多,我发现了以下内容:
CMake -G "Visual Studio 14 2015" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10
这就是我应该调用 CMake 的方式。
(How can i use CMake to generate Windows 10 universal project)
对应的 CMakeLists.txt 文件应该是什么样子。我知道可执行文件和库(如 add_executable 等)的命令。但我不知道用于构建 UWP 应用程序的命令。谁能提供一个示例 CMakeLists.txt 文件以及一些示例代码?
还有如何将 CMake 用于 WinRT 组件?
【问题讨论】:
【参考方案1】:CMake 是一个跨平台的构建工具,微软从官方的cmake 存储库中创建了一个 fork branch,以引入对 UWP 和 WinRT 的支持。所以官方的cmake从3.4.0版本开始就支持UWP了。
CMakeLists.txt文件不同于一般的cmake文件,需要指定cmake版本、源文件等...
在定位 UWP 项目时,您需要按照您指出的那样指定构建命令,
CMake -G "Visual Studio 14 2015" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10
您也可以使用 CMake GUI 工具,只需声明 MAKE_SYSTEM_NAME 和 CMAKE_SYSTEM_VERSION 宏。
这里值得一提的是有一个开源的fips 项目,它是一个围绕cmake 的包装模块。跟着教程here,你可以看到生成UWP项目是多么容易,
fips build uwp-vstudio-debug
【讨论】:
来自 fips github 于 2019 年 1 月 20 日:“NaCl 和 UWP 支持已被删除(两者都没有维护很长时间)” -DCMAKE_SYSTEM_VERSION='10.0' 对于某些情况以上是关于制作 | UWP :: 使用 Cmake 构建通用 Windows 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UWP(通用 Windows 编程)应用程序中进行简单的用户登录
详解 UWP (通用 Windows 平台) 中的两种 HttpClient API