|
|
@@ -1,158 +1,2490 @@
|
|
|
export const posts = [
|
|
|
{
|
|
|
- "title": "Xmake 3.0 正式发布",
|
|
|
- "url": "/zh/posts/xmake-3-0-release",
|
|
|
+ "title": "Xmake v2.9.1 发布,新增 native lua 模块和鸿蒙系统支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.9.1",
|
|
|
"date": {
|
|
|
- "time": 1705320000000,
|
|
|
- "string": "January 15, 2024"
|
|
|
+ "time": 1713787200000,
|
|
|
+ "string": "April 22, 2024"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "发布",
|
|
|
"xmake",
|
|
|
- "构建系统"
|
|
|
+ "lua",
|
|
|
+ "C/C++"
|
|
|
],
|
|
|
- "excerpt": "<p>我们很高兴地宣布 Xmake 3.0 正式发布!这个重大版本在性能、易用性和功能完整性方面都带来了显著改进。</p>\n<p>Xmake 3.0 引入了完全重写的构建引擎,相比之前的版本提供了高达 3 倍的构建速度提升。新引擎具有以下特性:</p>\n<ul>\n<li>优化的依赖解析</li>\n<li>改进的并行编译</li>\n<li>更好的缓存机制</li>\n<li>减少内存使用</li>\n</ul>\n"
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "使用 Xmake 构建跨平台应用",
|
|
|
- "url": "/zh/posts/cross-platform-development",
|
|
|
+ "title": "Xmake v2.8.7 发布,新增 cosmocc 工具链支持,一次编译到处运行",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.8.7",
|
|
|
"date": {
|
|
|
- "time": 1704888000000,
|
|
|
- "string": "January 10, 2024"
|
|
|
+ "time": 1708862400000,
|
|
|
+ "string": "February 25, 2024"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "跨平台",
|
|
|
- "教程",
|
|
|
- "cpp"
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.8.6 发布,新的打包插件:XPack",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.8.6",
|
|
|
+ "date": {
|
|
|
+ "time": 1702641600000,
|
|
|
+ "string": "December 15, 2023"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.8.5 发布,支持链接排序和单元测试",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.8.5",
|
|
|
+ "date": {
|
|
|
+ "time": 1699185600000,
|
|
|
+ "string": "November 5, 2023"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.8.3 发布,改进 Wasm 并支持 Xmake 源码调试",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.8.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1695729600000,
|
|
|
+ "string": "September 26, 2023"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "package",
|
|
|
+ "API",
|
|
|
+ "rust"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.8.2 发布,官方包仓库数量突破 1k",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.8.2",
|
|
|
+ "date": {
|
|
|
+ "time": 1692705600000,
|
|
|
+ "string": "August 22, 2023"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "package",
|
|
|
+ "API",
|
|
|
+ "rust"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.8.1 发布,大量细节特性改进",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.8.1",
|
|
|
+ "date": {
|
|
|
+ "time": 1689076800000,
|
|
|
+ "string": "July 11, 2023"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "package",
|
|
|
+ "performance",
|
|
|
+ "mingw64",
|
|
|
+ "wasm"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.7.8 发布,改进包虚拟环境和构建速度",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.7.8",
|
|
|
+ "date": {
|
|
|
+ "time": 1680609600000,
|
|
|
+ "string": "April 4, 2023"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "package",
|
|
|
+ "performance",
|
|
|
+ "mingw64",
|
|
|
+ "wasm"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.7.7 发布,支持 Haiku 平台,改进 API 检测和 C++ Modules 支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.7.7",
|
|
|
+ "date": {
|
|
|
+ "time": 1677153600000,
|
|
|
+ "string": "February 23, 2023"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "package",
|
|
|
+ "modules",
|
|
|
+ "haiku",
|
|
|
+ "c++modules"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.7.6 发布,新增 Verilog 和 C++ Modules 分发支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.7.6",
|
|
|
+ "date": {
|
|
|
+ "time": 1674388800000,
|
|
|
+ "string": "January 22, 2023"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "package",
|
|
|
+ "modules",
|
|
|
+ "verilog"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.7.3 发布,包组件和 C++ 模块增量构建支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.7.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1667908800000,
|
|
|
+ "string": "November 8, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "package",
|
|
|
+ "components"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.7.2 发布,更加智能化构建第三方库",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.7.2",
|
|
|
+ "date": {
|
|
|
+ "time": 1665316800000,
|
|
|
+ "string": "October 9, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "trybuild",
|
|
|
+ "rule",
|
|
|
+ "cmake",
|
|
|
+ "autoconf"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.7.1 发布,更好的 C++ Modules 支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.7.1",
|
|
|
+ "date": {
|
|
|
+ "time": 1661428800000,
|
|
|
+ "string": "August 25, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "remote",
|
|
|
+ "ccache",
|
|
|
+ "C++20",
|
|
|
+ "Modules",
|
|
|
+ "headerunits",
|
|
|
+ "fs-watcher"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake v2.6.6 发布,分布式编译和缓存支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.6.6",
|
|
|
+ "date": {
|
|
|
+ "time": 1653393600000,
|
|
|
+ "string": "May 24, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "remote",
|
|
|
+ "ccache",
|
|
|
+ "distributed-compilation"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Summer2022:暑期来 Xmake 社区做项目吧,还有奖金领取哦",
|
|
|
+ "url": "/zh/posts/xmake-summer-2022",
|
|
|
+ "date": {
|
|
|
+ "time": 1651406400000,
|
|
|
+ "string": "May 1, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "summer",
|
|
|
+ "开源之夏"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>开源之夏是开源软件供应链点亮计划下的暑期活动,由中国科学院软件研究所与openEuler社区联合主办,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。作为每年暑期最火热的开源活动,开源之夏如今已进入第三届。</p>\n<p>2022年,开源之夏联合124家开源社区,针对开源项目的开发与维护提供mini任务,学生可自主选择感兴趣的项目进行申请,并在中选后获得社区资深开发者亲自指导的机会。项目成功结项并贡献给社区后,参与者将获得开源之夏活动奖金和结项证书。</p>\n<p>开源之夏网站:<a href=\"https://summer.iscas.ac.cn/\">https://summer.iscas.ac.cn/</a></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.6.5 发布,远程编译支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.6.5",
|
|
|
+ "date": {
|
|
|
+ "time": 1650801600000,
|
|
|
+ "string": "April 24, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "cargo",
|
|
|
+ "rust",
|
|
|
+ "remote-compilation"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake 和 C/C++ 包管理",
|
|
|
+ "url": "/zh/posts/xmake-and-package-management",
|
|
|
+ "date": {
|
|
|
+ "time": 1647086400000,
|
|
|
+ "string": "March 12, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "Package",
|
|
|
+ "Manager"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,关于 Xmake 与构建系统的介绍,我们已经在之前的文章中做了详细的介绍:<a href=\"https://zhuanlan.zhihu.com/p/370008884\">C/C++ 构建系统,我用 xmake</a>。</p>\n<p>如果大家已经对 Xmake 已经有了大概的了解,就会知道,它不仅仅是一个构建工具,还内置了对 C/C++ 包管理的支持,我们也可以把 Xmake 理解为:</p>\n<pre><code>Xmake = Build backend + Project Generator + Package Manager\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.6.4 发布,大量包管理特性改进",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.6.4",
|
|
|
+ "date": {
|
|
|
+ "time": 1646654400000,
|
|
|
+ "string": "March 7, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "Package",
|
|
|
+ "Manager"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.6.3 发布,支持 vcpkg 清单模式",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.6.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1642852800000,
|
|
|
+ "string": "January 22, 2022"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "Linux",
|
|
|
+ "Vcpkg"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.6.2 发布,新增 Linux 内核驱动模块构建支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.6.2",
|
|
|
+ "date": {
|
|
|
+ "time": 1639742400000,
|
|
|
+ "string": "December 17, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "Linux",
|
|
|
+ "Driver"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具。</p>\n<p>它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。</p>\n<p>它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.6.1 发布,使用 Lua5.4 运行时,Rust 和 C++ 混合编译支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.6.1",
|
|
|
+ "date": {
|
|
|
+ "time": 1638532800000,
|
|
|
+ "string": "December 3, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "Rust",
|
|
|
+ "Lua5.4",
|
|
|
+ "C++20",
|
|
|
+ "Modules"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>这个版本,我们正式将默认的 Luajit 运行时切换到 Lua5.4 运行时,并且新增了 Rust 和 C++ 的混合编译支持,我们也集成了 Cargo 的包管理支持。</p>\n<p>另外,我们新增了一个实用的 <code>utils.glsl2spv</code> 规则,用于实现对 glsl shader 的编译支持,并自动生成对应的 C 代码头文件,方便快速内嵌编译后的 .spv 文件数据到代码中。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.9 发布,改进 C++20 模块,并支持 Nim, Keil MDK 和 Unity Build",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.9",
|
|
|
+ "date": {
|
|
|
+ "time": 1635595200000,
|
|
|
+ "string": "October 30, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "Nim",
|
|
|
+ "Keil",
|
|
|
+ "MDK",
|
|
|
+ "circle",
|
|
|
+ "Unity",
|
|
|
+ "Build",
|
|
|
+ "C++20",
|
|
|
+ "Modules",
|
|
|
+ "lua5.4"
|
|
|
+ ],
|
|
|
+ "excerpt": "<h2>author: Ruki}</h2>\n<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>这个版本,我们增加了大量重量级的新特性,例如:Nim 语言项目的构建支持,Keil MDK,Circle 和 Wasi 工具链支持。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.8 发布,新增 Pascal/Swig 程序和 Lua53 运行时支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.8",
|
|
|
+ "date": {
|
|
|
+ "time": 1633694400000,
|
|
|
+ "string": "October 8, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "pascal",
|
|
|
+ "swig",
|
|
|
+ "lua5.3"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>这个版本,我们主要增加了对 Pascal 语言项目和 Swig 模块的构建支持,而对于上个版本新增的 Vala 语言支持,我们也做了进一步改进,增加了对动态库和静态库的构建支持。</p>\n<p>除此之外,xmake 现在也已经支持了可选的 Lua5.3 运行时,提供更好的跨平台支持能力,目前 xmake 已经能够在 LoongArch 架构上正常运行。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.7 发布,包依赖锁定和 Vala/Metal 语言编译支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.7",
|
|
|
+ "date": {
|
|
|
+ "time": 1630238400000,
|
|
|
+ "string": "August 29, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "lock",
|
|
|
+ "package",
|
|
|
+ "vala"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>这个版本,我们新增了很多新特性,不仅增加了对 Vala 和 Metal 语言的编译支持,另外我们还改进了包依赖管理,能够像 npm/package.lock 那样支持对依赖包的锁定和更新,使得用户的项目不会受到上游包仓库的更新变动影响。</p>\n<p>此外,我们还提供了一些比较实用的规则, 比如 <code>utils.bin2c</code> 可以让用户方便快速的内嵌一些二进制资源文件到代码中去,以头文件的方式获取相关数据。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.6 发布,改进预编译二进制镜像包兼容性",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.6",
|
|
|
+ "date": {
|
|
|
+ "time": 1627300800000,
|
|
|
+ "string": "July 26, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "precompiled",
|
|
|
+ "package"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>这是一个稳定性修复版本,主要修复和改进了一些跟预编译二进制包相关的兼容性问题。另外新增了一些实用的接口来设置默认的编译平台、架构和模式,以及允许的编译平台、架构列表等等。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n<li><a href=\"https://xmake.io/zh/about/course\">入门课程</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.5 发布,支持下载集成二进制镜像包",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.5",
|
|
|
+ "date": {
|
|
|
+ "time": 1625054400000,
|
|
|
+ "string": "June 30, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "mirror",
|
|
|
+ "package"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>2.5.5 版本中,我们继续改进远程包集成的体验,实现在云端预编译包,然后直接下载集成预编译的二进制包。这对于一些编译非常慢的包,可以极大的减少包的安装时间。</p>\n<p>另外,新版本中,我们还重新实现了新版的本地包生成方案,完全无缝支持 <code>add_requires</code> 和 <code>add_packages</code>,从此远程包和本地包可以使用统一的集成方式来维护。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.4 发布,支持 apt/portage 包管理器,改进 xrepo shell 环境",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.4",
|
|
|
+ "date": {
|
|
|
+ "time": 1621080000000,
|
|
|
+ "string": "May 15, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "apt",
|
|
|
+ "portage",
|
|
|
+ "shell",
|
|
|
+ "package"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>在 2.5.4 版本中,我们新增了对 Apt、Portage 这两个包管理器的支持,在 Ubuntu/Gentoo 上我们也可以使用 <code>add_requires</code> 可以快速集成它们提供的包。</p>\n<p>并且我们也改进支持了 Vcpkg 包管理器的支持,新增对 arm/arm64 架构包的安装支持。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "C/C++ 构建系统,我用 xmake",
|
|
|
+ "url": "/zh/posts/please-use-xmake",
|
|
|
+ "date": {
|
|
|
+ "time": 1620043200000,
|
|
|
+ "string": "May 3, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "Buildsystem"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">XMake</a> 是一个基于 Lua 的 现代化 C/C++ 构建系统。</p>\n<p>它的语法简洁易上手,对新手友好,即使完全不会 lua 也能够快速入门,并且完全无任何依赖,轻量,跨平台。</p>\n<p>同时,它也是一个自满足的构建系统,拥有强大的包管理系统,快速的构建引擎。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Summer2021:暑期来 Xmake 社区做项目吧,还有奖金领取哦",
|
|
|
+ "url": "/zh/posts/xmake-summer-ospp",
|
|
|
+ "date": {
|
|
|
+ "time": 1619697600000,
|
|
|
+ "string": "April 29, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "summer",
|
|
|
+ "开源之夏"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>中科院软件所与华为 openEuler 社区去年共同举办了 “开源软件供应链点亮计划——暑期2020” 活动,今年为第二届。该活动旨在鼓励大家关注开源软件和开源社区,致力于培养和发掘更多优秀的开发者。</p>\n<p>开源之夏网站:<a href=\"https://summer.iscas.ac.cn/\">https://summer.iscas.ac.cn/</a></p>\n<p>今年 Xmake 社区也报名参加了此活动,并且提供了三个活动项目,难易程度中等,欢迎大家一起参与进来,还有奖金可以领取哦。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.3 发布,支持构建 linux bpf 程序和 Conda 包集成",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1617883200000,
|
|
|
+ "string": "April 8, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "bpf",
|
|
|
+ "conda",
|
|
|
+ "linux"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>在 2.5.3 版本,我们新增了对 linux bpf 程序的构建支持,并且同时支持 android bpf 程序的构建。</p>\n<p>尽管 bpf 对 编译工具链有一定的要求,比如需要较新的 llvm/clang 和 android ndk 工具链,但是 xmake 能够自动拉取特定版本的 llvm/ndk 来用于编译,并且还能自动拉取 libbpf 等依赖库,完全省去了用户折腾编译环境和 libbpf 库集成的问题。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.2 发布, 支持自动拉取交叉工具链和依赖包集成",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.2",
|
|
|
+ "date": {
|
|
|
+ "time": 1614427200000,
|
|
|
+ "string": "February 27, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "xrepo",
|
|
|
+ "packages",
|
|
|
+ "cross-toolchains"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>在 2.5.2 版本中,我们增加了一个重量级的新特性:<code>自动拉取远程交叉编译工具链</code>。</p>\n<p>这是用来干什么的呢,做过交叉编译以及有 C/C++ 项目移植经验的同学应该知道,折腾各种交叉编译工具链,移植编译项目是非常麻烦的一件事,需要自己下载对应工具链,并且配置工具链和编译环境很容易出错导致编译失败。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "一个使用 xmake 构建 c/c++ 模块的 luarocks 插件",
|
|
|
+ "url": "/zh/posts/luarocks-build-xmake-v1.0",
|
|
|
+ "date": {
|
|
|
+ "time": 1611316800000,
|
|
|
+ "string": "January 22, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "xmake",
|
|
|
+ "luarocks"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://luarocks.org/\">luarocks</a> 是 lua 的一个包管理工具,提供了各种 lua 模块的安装集成,在用户安装 lua 模块的过程中,它会使用内置的构建系统对 c/c++ 模块进行构建。</p>\n<p>但是,它的构建系统只提供简单的配置,对于复杂的 c/c++ 模块的,就有点力不从心了,并且也无法灵活配置切换工具链。</p>\n<p>尽管它也提供了 make 和 cmake 的构建后端支持,但是通过 makefile 方式维护同样不够灵活,而 cmake 需要用户自己提前安装好 cmake 工具,否则安装 lua 模块的时候就会被打断。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.5.1 发布, 支持 Apple Silicon 并改进 C/C++ 包依赖管理",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.5.1",
|
|
|
+ "date": {
|
|
|
+ "time": 1610798400000,
|
|
|
+ "string": "January 16, 2021"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "xrepo",
|
|
|
+ "packages",
|
|
|
+ "vcpkg",
|
|
|
+ "conan",
|
|
|
+ "Apple",
|
|
|
+ "Silicon"
|
|
|
+ ],
|
|
|
+ "excerpt": "<h2>author: Ruki}</h2>\n<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>这是 xmake 在今年的首个版本,也是完全适配支持 Apple Silicon (macOS ARM) 设备的首个版本。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake 2020 年终总结",
|
|
|
+ "url": "/zh/posts/xmake-in-2020",
|
|
|
+ "date": {
|
|
|
+ "time": 1609329600000,
|
|
|
+ "string": "December 30, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: Xmake 2020 年终总结\ntags: [xmake, lua, C/C++]\ndate: 2020-12-30\nauthor: Ruki</p>\n<hr>\n<p>2020 年,<a href=\"https://github.com/xmake-io/xmake\">xmake</a> 总共迭代发布了9个版本,新增了 1871 commits,1k+ stars,新增处理了 500+ 的 issues/pr。</p>\n<p><img src=\"/static/img/xmake/star-history-2020.png\" alt=\"\"></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xmake Discord 社区频道上线",
|
|
|
+ "url": "/zh/posts/xmake-community",
|
|
|
+ "date": {
|
|
|
+ "time": 1607601600000,
|
|
|
+ "string": "December 10, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "discord",
|
|
|
+ "社区",
|
|
|
+ "技术交流"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>我们可以用 xmake 很方便的开发构建 C/C++ 项目,同时也支持和其他 native 语言的混合编译。</p>\n<p><img src=\"https://xmake.io/assets/img/index/xmake-basic-render.gif\" alt=\"\"></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.9 发布, 新增独立 Xrepo C/C++ 包管理器",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.9",
|
|
|
+ "date": {
|
|
|
+ "time": 1606219200000,
|
|
|
+ "string": "November 24, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "xrepo",
|
|
|
+ "packages",
|
|
|
+ "vcpkg",
|
|
|
+ "conan"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>在这个新版本中,我们重点改进了 xmake 的依赖包管理,新增了 Archlinux 和 MSYS2/Mingw 下 的 pacman 包管理器支持,另外我们进一步丰富了 xmake 的官方包仓库 <a href=\"https://github.com/xmake-io/xmake-repo\">xmake-repo</a>,新增了 50 多个常用的 C/C++ 包。</p>\n<p>此外,我们新增了一个基于 xmake 的独立子命令:<a href=\"https://github.com/xmake-io/xrepo/\">xrepo</a>,一个完整独立的跨平台 C/C++ 包管理器,便于用户更加方便的管理日常 C/C++ 包的安装和集成使用。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "Xrepo:一个现代化的跨平台 C/C++ 包管理器",
|
|
|
+ "url": "/zh/posts/xrepo-new-command",
|
|
|
+ "date": {
|
|
|
+ "time": 1605441600000,
|
|
|
+ "string": "November 15, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "xrepo",
|
|
|
+ "package",
|
|
|
+ "manager",
|
|
|
+ "vcpkg",
|
|
|
+ "conan",
|
|
|
+ "dub",
|
|
|
+ "pacman"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xrepo 是一个基于 <a href=\"https://github.com/xmake-io/xmake\">Xmake</a> 的跨平台 C/C++ 包管理器。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xrepo\">项目源码</a></li>\n<li><a href=\"https://xrepo.xmake.io/#/zh-cn/\">官方文档</a></li>\n</ul>\n<p>它基于 xmake 提供的运行时,但却是一个完整独立的包管理程序,相比 vcpkg/homebrew 此类包管理器,xrepo 能够同时提供更多平台和架构的 C/C++ 包。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.8 发布, 新增 Intel C++/Fortran 编译器支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.8",
|
|
|
+ "date": {
|
|
|
+ "time": 1602936000000,
|
|
|
+ "string": "October 17, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "wasm",
|
|
|
+ "emscripten",
|
|
|
+ "qt",
|
|
|
+ "intel",
|
|
|
+ "icc",
|
|
|
+ "fortran"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>在这个新版本中,我们对 Intel 系列的 C++ 和 Fortran 编译器做了全平台支持,并且改进了上个版本新加的 Wasm 工具链支持,同时对 Qt SDK for Wasm 也进行了支持。</p>\n<p>另外,我们还将 luajit 升级到最新的 v2.1 版本,在跨平台方面,xmake 也做了很大的完善,增加了 mips64 架构的运行支持。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake 官方入门课程上线, Xmake 带你轻松构建 C/C++ 项目",
|
|
|
+ "url": "/zh/posts/xmake-course-build-c-projects",
|
|
|
+ "date": {
|
|
|
+ "time": 1602244800000,
|
|
|
+ "string": "October 9, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "course",
|
|
|
+ "qt",
|
|
|
+ "实验楼",
|
|
|
+ "入门课程"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://www.lanqiao.cn/courses/2764\">Xmake 带你轻松构建 C/C++ 项目</a> 是我们在实验楼上推出的一门 xmake 入门和进阶课程(收费),以边学边做实验的方式快速学习 xmake 的使用。</p>\n<p>通过此处优惠码购买可享 9 折优惠:<code>NYFbmf3X</code></p>\n<p><a href=\"https://xmake.io\">Xmake</a> 是一个基于 Lua 的轻量级跨平台 C/C++ 构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt 而言,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门 C/C++ 项目的编译开发,提供一站式跨平台编译、运行、调试、打包、安装等操作,能够让大家把更多的精力集中在实际的项目开发上。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.7",
|
|
|
+ "date": {
|
|
|
+ "time": 1600084800000,
|
|
|
+ "string": "September 14, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "tinyc",
|
|
|
+ "emscripten",
|
|
|
+ "qt",
|
|
|
+ "cuda"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。</p>\n<p>随着 xmake 最近几年不断的迭代发展,xmake 已经在 Github 收获 2.9K star,300+ fork,30+ 贡献者,并且处理了 900+ issues,5400+ Commits,活跃用户也在不断增长。</p>\n<p><img src=\"https://tboox.org/static/img/xmake/star-history.png\" alt=\"\"></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.6 发布, 新增fortran编译支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.6",
|
|
|
+ "date": {
|
|
|
+ "time": 1595937600000,
|
|
|
+ "string": "July 28, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "fortran",
|
|
|
+ "zig",
|
|
|
+ "golang",
|
|
|
+ "dlang"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个版本重点对其他语言的支持做了一些改进,比如新增了fortran的编译支持,zig语言的实验性支持,另外对golang/dlang增加了第三方依赖包支持以及交叉编译支持。</p>\n<p>虽然,xmake重点关注c/c++的构建支持,但是其他语言的支持xmake也会不定期做一些改进,其主要目的并不是替代它们官方自身的构建系统,仅仅只是为了支持与c/c++的混合编译,更好的为c/c++项目服务,\n毕竟有些c/c++项目中,还是会偶尔调用其他语言的代码接口,比如与cuda, dlang, objc,swift, asm等语言的混合调用,所以xmake还是会对他们做一些基础性的编译支持。</p>\n<p>另外,关于c/c++方面,我们也对vs预览版中新的<code>/sourceDependencies xxx.json</code>输出的头文件依赖格式也做了支持(这对于多语言下,头文件依赖检测会更加的可靠稳定)。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通12:通过自定义脚本实现更灵活地配置",
|
|
|
+ "url": "/zh/posts/quickstart-12-custom-scripts",
|
|
|
+ "date": {
|
|
|
+ "time": 1595073600000,
|
|
|
+ "string": "July 18, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "子工程",
|
|
|
+ "子模块",
|
|
|
+ "自定义脚本"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文主要详细讲解下,如何通过添加自定义的脚本,在脚本域实现更加复杂灵活的定制。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.5 发布, 多工具链灵活切换支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.5",
|
|
|
+ "date": {
|
|
|
+ "time": 1593345600000,
|
|
|
+ "string": "June 28, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "交叉编译"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个版本主要工作还是继续改进对工具链的支持,上个版本虽然通过重构实现了模块化的工具链扩展,但是对于一次编译想要灵活地在交叉工具链/Host工具链上切换编译,还不能很好的支持,因此这个版本重点改进了这块的支持力度。</p>\n<p>另外,此版本还对使用<code>add_requires</code>集成的远程依赖包下载慢的问题做了改进,增加了代理设置、本地包检索复用的支持来改善此问题。当然,最好的方式还是搞个国内的cdn来加速下载,但是这个成本过高,暂时就不折腾了。</p>\n<p>还有一些小改动和bug修复,可以看下文章最下面的更新内容。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.4 发布, 更加完善的工具链支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.4",
|
|
|
+ "date": {
|
|
|
+ "time": 1591358400000,
|
|
|
+ "string": "June 5, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "toolchains",
|
|
|
+ "交叉编译"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>为了让xmake更好得支持交叉编译,这个版本我重构了整个工具链,使得工具链的切换更加的方便快捷,并且现在用户可以很方便地在xmake.lua中扩展自己的工具链。</p>\n<p>关于平台的支持上,我们新增了对*BSD系统的支持,另外,此版本还新增了一个ninja主题风格,实现类似ninja的编译进度显示,例如:</p>\n<p><img src="https://xmake.io/assets/img/theme/ninja.png" width="60%" /></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.3 发布, 新增iOS/MacOS Framework和App构建支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1587988800000,
|
|
|
+ "string": "April 27, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "framework",
|
|
|
+ "bundle",
|
|
|
+ "app",
|
|
|
+ "签名"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个版本主要是对内置的构建规则做了些扩展,新增了相关规则来实现对iOS/MacOS相关App应用程序项目、Framework和Bundle程序的构建支持。</p>\n<p>并且支持App签名,也提供了相关工程模板来快速创建应用程序,另外此版本还对Qt的开发构建也做了不少改进,增加对Qt5.14.0新版本sdk的支持,对android的打包部署支持上也改进了不少。</p>\n<p>处理之外,xmake还提供了一个特殊的<code>xmake.cli</code>构建rule,通过集成libxmake engine库,来扩展开发基于xmake引擎的程序,比如:做个定制版的xmake,也可以基于此写点lua脚本程序。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake-gradle v1.0.7 发布, 集成xmake快速构建Android JNI程序",
|
|
|
+ "url": "/zh/posts/xmake-gradle-v1.0.7",
|
|
|
+ "date": {
|
|
|
+ "time": 1587124800000,
|
|
|
+ "string": "April 17, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "android",
|
|
|
+ "jni"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake-gradle\">xmake-gradle</a>是一个无缝整合 xmake 的 gradle 插件。</p>\n<p>目前在 gradle 中做 android jni 相关集成开发,有两种方式,通过 ndkBuild 或者 CMake 来支持,gradle 也内置了这两工具的集成</p>\n<p>但是维护 Android.mk 还是非常繁琐的,尤其是对于大型项目会比较痛苦,而 cmake 的 dsl 语法不够简洁直观,我个人也不是很喜欢,因此我先前整了 xmake 来实现跨平台开发,优势就是: 简单,快速,对新手友好,另外功能也很强大,具体有那些功能,大家可以到 xmake 项目主页看下相关介绍。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通11:如何组织构建大型工程",
|
|
|
+ "url": "/zh/posts/quickstart-11-subprojects",
|
|
|
+ "date": {
|
|
|
+ "time": 1586606400000,
|
|
|
+ "string": "April 11, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "子工程",
|
|
|
+ "子模块"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文主要详细讲解下,如何通过配置子工程模块,来组织构建一个大规模的工程项目。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.2 发布, 带来和ninja一样快的构建速度",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.2",
|
|
|
+ "date": {
|
|
|
+ "time": 1585396800000,
|
|
|
+ "string": "March 28, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "ninja",
|
|
|
+ "并行构建"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个版本重点重构优化了下内部并行构建机制,实现多个target间源文件的并行编译,以及并行link的支持,同时优化了xmake的一些内部损耗,修复影响编译速度的一些bug。\n通过测试对比,目前的整体构建速度基本跟ninja持平,相比cmake/make, meson/ninja都快了不少,因为它们还额外多了一步生成makefile/build.ninja的过程。</p>\n<p>另外,xmake还增加了对sdcc编译工具链的支持,用于编译51/stm8等嵌入式程序。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.3.1 发布, 无缝对接其他构建系统",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.3.1",
|
|
|
+ "date": {
|
|
|
+ "time": 1582459200000,
|
|
|
+ "string": "February 23, 2020"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "autotools",
|
|
|
+ "cmake",
|
|
|
+ "ninja",
|
|
|
+ "mingw",
|
|
|
+ "msys"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>最近对xmake内部做了不少的重构来改进,并且新增了不少实用的新特性,欢迎来体验。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n<p>一些新特性:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.9 发布, 新增c++20 modules的实验性支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.2.9",
|
|
|
+ "date": {
|
|
|
+ "time": 1576929600000,
|
|
|
+ "string": "December 21, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "c++20",
|
|
|
+ "ts-modules"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个版本没啥太大新特性,主要对c++20 modules进行了实验性支持,目前支持clang/msvc编译器,除此之外改进了不少使用体验,并且提高了一些稳定性。</p>\n<p>另外,这个版本新增了socket.io支持以及对应协程io的调度支持,为下个版本的远程编译,以及后续的分布式编译做准备。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通10:多个子工程目标的依赖配置",
|
|
|
+ "url": "/zh/posts/quickstart-10-target-deps",
|
|
|
+ "date": {
|
|
|
+ "time": 1576238400000,
|
|
|
+ "string": "December 13, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "交叉编译"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文主要详细讲解下,如果在一个项目中维护和生成多个目标文件的生成,以及它们之间的依赖关系设置。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通8:切换编译模式",
|
|
|
+ "url": "/zh/posts/quickstart-8-switch-build-mode",
|
|
|
+ "date": {
|
|
|
+ "time": 1575547200000,
|
|
|
+ "string": "December 5, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "编译模式"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake从入门到精通8:切换编译模式\ntags: [xmake, lua, 编译模式]\ndate: 2019-12-05\nauthor: Ruki</p>\n<hr>\n<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文我们会详细介绍下如何在项目构建过程中切换debug/release等常用构建模式,以及自定义其他编译模式。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通9:交叉编译详解",
|
|
|
+ "url": "/zh/posts/quickstart-9-cross-compile",
|
|
|
+ "date": {
|
|
|
+ "time": 1575547200000,
|
|
|
+ "string": "December 5, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "交叉编译"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake从入门到精通9:交叉编译详解\ntags: [xmake, lua, 交叉编译]\ndate: 2019-12-05\nauthor: Ruki</p>\n<hr>\n<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>除了win, linux, macOS平台,以及android, ios等移动端平台的内建构建支持,xmake也支持对各种其他工具链的交叉编译支持,本文我们将会详细介绍下如何使用xmake进行交叉编译。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通7:开发和构建Cuda程序",
|
|
|
+ "url": "/zh/posts/quickstart-7-build-cuda-project",
|
|
|
+ "date": {
|
|
|
+ "time": 1575115200000,
|
|
|
+ "string": "November 30, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "cuda"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake从入门到精通7:开发和构建Cuda程序\ntags: [xmake, lua, cuda]\ndate: 2019-11-30\nauthor: Ruki</p>\n<hr>\n<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文我们会详细介绍下如何通过xmake来构建cuda程序以及与c/c++程序混合编译。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通6:开发和构建Qt程序",
|
|
|
+ "url": "/zh/posts/quickstart-6-build-qt-project",
|
|
|
+ "date": {
|
|
|
+ "time": 1574337600000,
|
|
|
+ "string": "November 21, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "qt"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake从入门到精通6:开发和构建Qt程序\ntags: [xmake, lua, qt]\ndate: 2019-11-21\nauthor: Ruki</p>\n<hr>\n<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>xmake完全支持对Qt5项目的维护和构建,通过本文将会带你了解如何通过xmake来维护各种类型的Qt项目。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通5:Android平台编译详解",
|
|
|
+ "url": "/zh/posts/quickstart-5-build-android",
|
|
|
+ "date": {
|
|
|
+ "time": 1573819200000,
|
|
|
+ "string": "November 15, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "android",
|
|
|
+ "jni"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文主要详细讲解如何通过xmake编译可在android下运行的库和可执行程序。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通4:常用C/C++项目描述设置详解",
|
|
|
+ "url": "/zh/posts/quickstart-4-basic-project-settings",
|
|
|
+ "date": {
|
|
|
+ "time": 1573387200000,
|
|
|
+ "string": "November 10, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "c/c++",
|
|
|
+ "xmake配置描述"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文主要详细讲解如何编写一些常用的基础xmake.lua描述配置,来实现一些简单的C/C++项目构建管理。\n对于大部分小项目,这些配置已经完全足够使用,本系列后期进阶教程中,我会深入详细讲解如果使用一些高级特性来更加灵活定制化地配置项目。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通1:安装和更新",
|
|
|
+ "url": "/zh/posts/quickstart-1-installation",
|
|
|
+ "date": {
|
|
|
+ "time": 1573300800000,
|
|
|
+ "string": "November 9, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "安装",
|
|
|
+ "更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake从入门到精通1:安装和更新\ntags: [xmake, lua, 安装, 更新]\ndate: 2019-11-09\nauthor: Ruki</p>\n<hr>\n<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文主要详细讲解xmake在各个平台下的安装过程。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通2:创建和编译工程",
|
|
|
+ "url": "/zh/posts/quickstart-2-create-and-build-project",
|
|
|
+ "date": {
|
|
|
+ "time": 1573300800000,
|
|
|
+ "string": "November 9, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "c/c++",
|
|
|
+ "创建工程"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文主要详细讲解如何创建一个基于xmake的工程以及编译操作。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake从入门到精通3:运行和调试目标程序",
|
|
|
+ "url": "/zh/posts/quickstart-3-run-and-debug",
|
|
|
+ "date": {
|
|
|
+ "time": 1573300800000,
|
|
|
+ "string": "November 9, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "c/c++",
|
|
|
+ "运行",
|
|
|
+ "调试"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。</p>\n<p>本文主要详细讲解如何加载运行编译好的目标程序,以及如何去调试。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "使用xmake构建c++20 modules",
|
|
|
+ "url": "/zh/posts/xmake-c++20-modules",
|
|
|
+ "date": {
|
|
|
+ "time": 1569153600000,
|
|
|
+ "string": "September 22, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "c++20",
|
|
|
+ "modules-ts"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>c++ modules已经正式纳入了c++20草案,msvc和clang也已经基本实现了对<a href=\"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1103r3.pdf\">modules-ts</a>的支持,随着c++20的脚步离我们越来越近,xmake也开始对c++modules提前做好了支持。</p>\n<p>目前xmake已经完全支持了msvc/clang的modules-ts构建实现,而对于gcc,由于它的cxx-modules分支还在开发中,还没有正式进入master,我看了下里面的changelog,相关flags还在不断变动,感觉还没稳定下来,因此这里暂时还没对其进行支持。</p>\n<p>关于xmake对c++modules的相关进展见:<a href=\"https://github.com/xmake-io/xmake/pull/569\">https://github.com/xmake-io/xmake/pull/569</a></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.8 发布, 新版vs工程生成插件",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.2.8",
|
|
|
+ "date": {
|
|
|
+ "time": 1566475200000,
|
|
|
+ "string": "August 22, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "版本更新",
|
|
|
+ "VisualStudio"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个版本提供了全新的vs工程生成插件(非常感谢@<a href=\"https://github.com/OpportunityLiu\">OpportunityLiu</a>的贡献),跟之前的生成vs的插件处理模式上有很大的不同,原先生成的vs工程是把所有源文件展开后,转交给vs来处理编译。</p>\n<p>此外,我们重写了整个luajit的io runtime,使其更好的支持unicode字符集,尤其是windows上对中文字符的支持。</p>\n<p>最后新版本开始尝试直接安装lua bitcode脚本,来减少安装包的大小(控制在2.4M以内),提高xmake启动加载的效率。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "制作和上传C/C++包到xmake的官方仓库",
|
|
|
+ "url": "/zh/posts/xmake-upload-package",
|
|
|
+ "date": {
|
|
|
+ "time": 1565352000000,
|
|
|
+ "string": "August 9, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "包仓库"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake集成了内置的远程包依赖管理,用户只需要简单地在项目中添加自己所需要的包和版本,即可自动下载和集成对应的包到项目中,并且实现编译和链接。</p>\n<p>例如:</p>\n<pre><code class=\"language-lua\">add_requires("libuv master", "ffmpeg", "zlib 1.20.*")\nadd_requires("tbox >1.6.1", {optional = true, debug = true})\nadd_requires("boost", {alias = "boost_context", configs = {context = true}})\ntarget("test")\n set_kind("binary")\n add_files("src/*.c")\n add_packages("libuv", "ffmpeg", "t...</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.7 发布, 改进Cuda项目构建",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.2.7",
|
|
|
+ "date": {
|
|
|
+ "time": 1560772800000,
|
|
|
+ "string": "June 17, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "版本更新",
|
|
|
+ "Cuda"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个版本主要对Cuda项目的构建做了很多的改进,并且新增了对lex/yacc编译支持,同时也对target新增了<code>on_link</code>, <code>before_link</code>和<code>after_link</code>等链接阶段的定制化支持。</p>\n<p>这里,我还要感谢下@<a href=\"https://github.com/OpportunityLiu\">OpportunityLiu</a>对xmake的支持,这个版本中<a href=\"https://github.com/OpportunityLiu\">OpportunityLiu</a>贡献了大量的代码去改进Cuda的支持。\n此外,他还帮忙改进了xmake的整个单元测试框架,自更新程序,命令行tab补全以及ci脚本,使得xmake的更新迭代更加高效和稳定。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake vs cmake对比分析",
|
|
|
+ "url": "/zh/posts/xmake-vs-cmake",
|
|
|
+ "date": {
|
|
|
+ "time": 1559131200000,
|
|
|
+ "string": "May 29, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "cmake"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake vs cmake对比分析\ntags: [xmake, lua, cmake]\ndate: 2019-05-29\nauthor: Ruki</p>\n<hr>\n<p>首先,不得不承认,cmake很强大,发展了这么多年,整个生态已经相当完善,功能也相当丰富,这点xmake目前是比不了的。</p>\n<p>当初我做xmake的目的,也并不是为了完全替代cmake,这没啥意义,只是觉得cmake的语法和易用性满足不了我,我还是更喜欢更简单直观的方式去描述和维护项目,在不同平台下提供近乎一致的使用体验。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.6 发布, Qt/Android编译支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.2.6",
|
|
|
+ "date": {
|
|
|
+ "time": 1558872000000,
|
|
|
+ "string": "May 26, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "版本更新",
|
|
|
+ "Qt",
|
|
|
+ "Android"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个版本主要对远程依赖包的支持进一步完善,并且新增了对clib包依赖的支持,另外现在xmake已经能够直接编译Qt/Android项目,并且可以直接生成apk包,以及安装到设备支持。</p>\n<p>此版本还对xmake的启动性能做了优化,解决了windows启动慢的问题,提速98%,整体编译速度也加快了不少。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/#/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.5新特性详解",
|
|
|
+ "url": "/zh/posts/xmake-v2.2.5-new-features",
|
|
|
+ "date": {
|
|
|
+ "time": 1554120000000,
|
|
|
+ "string": "April 1, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "版本更新",
|
|
|
+ "远程包管理",
|
|
|
+ "包依赖",
|
|
|
+ "自动构建"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>新版本对内置的包管理进行了重构,已经支持的非常完善了,我们可以通过</p>\n<pre><code class=\"language-lua\">add_requires("libuv master", "ffmpeg", "zlib 1.20.*")`\n</code></pre>\n<p>方便的安装使用依赖包,但是官方的包仓库<a href=\"https://github.com/xmake-io/xmake-repo\">xmake-repo</a>目前收录的包还非常少,因此为了扩充xmake的包仓库,\nxmake新增了对第三方包管理器的内置支持,通过包命名空间显式指定其他包管理器中的包,目前支持对<code>conan::</code>,<code>brew::</code>和<code>vcpkg::</code>包管理中的包进行安装。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.5, 更加完善的包依赖管理",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.2.5",
|
|
|
+ "date": {
|
|
|
+ "time": 1553860800000,
|
|
|
+ "string": "March 29, 2019"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "版本更新",
|
|
|
+ "远程包管理",
|
|
|
+ "包依赖",
|
|
|
+ "自动构建"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此版本耗时四个多月,对包依赖管理进行了重构改进,官方仓库新增了mysql,ffmpeg等常用依赖包,并且新增了大量新特性。</p>\n<p>关于新特性的详细说明,可以看下下面的官方文档,或者看下相关文章介绍:<a href=\"https://tboox.org/cn/2019/04/01/v2.2.5-new-features/\">xmake v2.2.5新特性详解</a></p>\n<p>关于新特性的详细说明见文章下文。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.3, 大量新特性支持",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.2.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1543579200000,
|
|
|
+ "string": "November 30, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "版本更新",
|
|
|
+ "远程包管理",
|
|
|
+ "包依赖",
|
|
|
+ "自动构建"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此版本主要是对远程依赖包管理进行了一些改进,并且新增了很多小特性,并且此版本已经可以支持通过<code>xmake update</code>来自我更新升级了,以后升级xmake将会更加方便。</p>\n<p>关于新特性的详细说明见文章下文。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/#/zh/\">官方文档</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.2, 让C/C++拥有包依赖自动构建",
|
|
|
+ "url": "/zh/posts/xmake-update-v2.2.2-package-deps",
|
|
|
+ "date": {
|
|
|
+ "time": 1539432000000,
|
|
|
+ "string": "October 13, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "C/C++",
|
|
|
+ "版本更新",
|
|
|
+ "远程包管理",
|
|
|
+ "包依赖",
|
|
|
+ "自动构建"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>历经四个多月,<a href=\"https://github.com/xmake-io/xmake\">xmake</a>终于更新了新版本v2.2.2,并且上线了重量级功能:原生支持的远程依赖包管理。</p>\n<p>而这个特性,其实我陆陆续续写了将近一年的时间,才初步完成,对于此特性的开发进展和历史,有兴趣的同学可以看下相关issues:<a href=\"https://github.com/xmake-io/xmake/issues/69\">#69</a>。</p>\n<p>目前的实现效果如下,完全一致的语义版本依赖描述:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake-vscode v1.1.0版本发布,断点调试支持",
|
|
|
+ "url": "/zh/posts/xmake-vscode-update-v1.1.0",
|
|
|
+ "date": {
|
|
|
+ "time": 1530187200000,
|
|
|
+ "string": "June 28, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake-vscode\">xmake-vscode</a>插件深度集成了<a href=\"https://github.com/xmake-io/xmake\">xmake</a>和vscode,提供方便快速的跨平台c/c++构建。</p>\n<p>此版本主要更新内容如下:</p>\n<ul>\n<li>利用C/C++插件<a href=\"https://github.com/Microsoft/vscode-cpptools\">vscode-cpptools</a>实现直接加载断点调试xmake编译的程序</li>\n<li>多工程目录工作区支持,可以随意切换和编译多个工程</li>\n<li>改进mingw平台支持</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake-vscode v1.0.8版本发布,在vscode中构建Qt/WDK程序",
|
|
|
+ "url": "/zh/posts/xmake-vscode-update-v1.0.8",
|
|
|
+ "date": {
|
|
|
+ "time": 1529928000000,
|
|
|
+ "string": "June 25, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake-vscode\">xmake-vscode</a>插件深度集成了<a href=\"https://github.com/xmake-io/xmake\">xmake</a>和vscode,提供方便快速的跨平台c/c++构建。</p>\n<p>此版本主要更新内容如下:</p>\n<ul>\n<li>兼容windows下VScode+shell(cmd/bash)</li>\n<li>修复windows下使用,偶尔出现命令在终端下被截断的问题</li>\n<li>更新xmake的自动补全,支持最新版本API</li>\n<li>增加对Qt、WDK环境的支持和配置</li>\n<li>新增附加参数配置,实现交叉编译的配置支持</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.2.1 大版本发布,Qt, WDK和Cuda编译环境支持",
|
|
|
+ "url": "/zh/posts/update-v2.2.1",
|
|
|
+ "date": {
|
|
|
+ "time": 1529236800000,
|
|
|
+ "string": "June 17, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新",
|
|
|
+ "Qt",
|
|
|
+ "WDK",
|
|
|
+ "Cuda"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>为了使<a href=\"https://github.com/xmake-io/xmake\">xmake</a>更方便灵活地支持其他编译环境,我花了四个多月的时间,对<a href=\"https://xmake.io/#/zh/manual?id=%E6%9E%84%E5%BB%BA%E8%A7%84%E5%88%99\">自定义规则rule</a>,进行了大规模升级。\n现在用户可以通过自定义规则,来实现各种编译规则,并且xmake也内置了一些常用的编译规则,可以直接应用到当前工程,去实现对Qt, WDK驱动和Cuda编译环境的支持。</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake\">项目源码</a></li>\n<li><a href=\"https://xmake.io/#/zh/\">官方文档</a></li>\n</ul>\n<p>相关文章介绍:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake新增对WDK驱动编译环境支持",
|
|
|
+ "url": "/zh/posts/support-wdk",
|
|
|
+ "date": {
|
|
|
+ "time": 1528977600000,
|
|
|
+ "string": "June 14, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "WDK",
|
|
|
+ "kmdf",
|
|
|
+ "umdf",
|
|
|
+ "wdm",
|
|
|
+ "driver"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a> v2.2.1新版本现已支持WDK驱动编译环境,我们可以直接在系统原生cmd终端下,执行xmake进行驱动编译,甚至配合vscode, sublime text, IDEA等编辑器+xmake插件去开发WDK驱动。</p>\n<p>下面是xmake支持的一些编辑器插件,用户可以挑选自己喜欢的编辑器配合xmake来使用:</p>\n<ul>\n<li><a href=\"https://github.com/xmake-io/xmake-idea\">xmake-idea</a></li>\n<li><a href=\"https://github.com/xmake-io/xmake-vscode\">xmake-vscode</a></li>\n<li><a href=\"https://github.com/xmake-io/xmake-sublime\">xmake-sublime</a></li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake进阶之简化你的构建描述",
|
|
|
+ "url": "/zh/posts/simplify-xmake-description",
|
|
|
+ "date": {
|
|
|
+ "time": 1528459200000,
|
|
|
+ "string": "June 8, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "工程描述",
|
|
|
+ "xmake.lua",
|
|
|
+ "简化"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake\">xmake</a>的初衷就是为了让用户能够用最简单直接的方式去描述工程,提供跨平台项目构建,因此,<code>简洁,灵活</code> 是xmake.lua的核心设计思想。</p>\n<p>通过之前的那篇文章:<a href=\"http://tboox.org/cn/2018/03/26/build-project-so-simply/\">xmake入门,构建项目原来可以如此简单</a>,我们对如何使用xmake去构建项目有了大概的了解,并且能够编写一些简单的xmake.lua去描述项目,例如:</p>\n<pre><code class=\"language-lua\">target("test")\n set_kind("binary")\n add_files("src/*.c")\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake新增对Qt编译环境支持",
|
|
|
+ "url": "/zh/posts/support-qt",
|
|
|
+ "date": {
|
|
|
+ "time": 1527681600000,
|
|
|
+ "string": "May 30, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "Qt",
|
|
|
+ "Widgets",
|
|
|
+ "QuickApplication"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>在最新的<a href=\"https://github.com/xmake-io/xmake\">xmake</a> v2.2.1版本中,新增了对Qt SDK环境的支持,我们完全可以脱离Qt Creater进行Qt应用程序的开发,甚至配合vscode/idea等编辑器+xmake插件(<a href=\"https://github.com/xmake-io/xmake-vscode\">xmake-vscode</a>, <a href=\"https://github.com/xmake-io/xmake-idea\">xmake-idea</a> ...),\n用户完全可以切换到自己最常用的编辑器环境中去开发和构建Qt程序,例如这样:</p>\n<p><img src="/static/img/xmake/vscode-qt.jpeg" width="60%" /></p>\n<p>xmake内置了一些工程模板可以用来快速创建一个基于Qt的空工程,例如:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake入门,构建项目原来可以如此简单",
|
|
|
+ "url": "/zh/posts/build-project-so-simply",
|
|
|
+ "date": {
|
|
|
+ "time": 1522065600000,
|
|
|
+ "string": "March 26, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "build",
|
|
|
+ "project"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>在开发<a href=\"https://github.com/xmake-io/xmake\">xmake</a>之前,我一直在使用gnumake/makefile来维护个人C/C++项目,一开始还好,然而等项目越来越庞大后,维护起来就非常吃力了,后续也用过一阵子automake系列工具,并不是很好用。</p>\n<p>由于C/C++程序的构建过程比较繁琐,如果不借助IDE工具,很难快速构建一个新的C/C++程序,想要跨平台构建就更加麻烦了。</p>\n<p>虽然IDE很好用,也很强大,但是还是有很多不足的地方,例如:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake新增对Cuda代码编译支持",
|
|
|
+ "url": "/zh/posts/support-cuda",
|
|
|
+ "date": {
|
|
|
+ "time": 1520596800000,
|
|
|
+ "string": "March 9, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "cuda",
|
|
|
+ "NVIDIA",
|
|
|
+ "GPU"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>最近研究了下NVIDIA Cuda Toolkit的编译环境,并且在xmake 2.1.10开发版中,新增了对cuda编译环境的支持,可以直接编译<code>*.cu</code>代码。</p>\n<p>关于Cuda Toolkit相关说明以及安装文档,可参考官方文档:<a href=\"http://docs.nvidia.com/cuda/index.html\">CUDA Toolkit Documentation</a>。</p>\n<p>下载安装好Cuda SDK后,在macosx上回默认安装到<code>/Developer/NVIDIA/CUDA-x.x</code>目录下,Windows上可以通过<code>CUDA_PATH</code>的环境变量找到对应的SDK目录,而\nLinux下默认会安装到<code>/usr/local/cuda</code>目录下。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.9版本发布,增加可视化图形菜单配置",
|
|
|
+ "url": "/zh/posts/update-v2.1.9",
|
|
|
+ "date": {
|
|
|
+ "time": 1517659200000,
|
|
|
+ "string": "February 3, 2018"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此版本主要增加<code>xmake f --menu</code>实现用户自定义图形菜单配置,界面风格类似linux的<code>make menuconfig</code>:</p>\n<p><img src="/static/img/xmake/menuconf.gif" width="60%" /></p>\n<p>更多使用说明,请阅读:<a href=\"https://xmake.io/#/zh/\">文档手册</a>。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake 自定义构建规则的使用",
|
|
|
+ "url": "/zh/posts/custom-rule",
|
|
|
+ "date": {
|
|
|
+ "time": 1510574400000,
|
|
|
+ "string": "November 13, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "自定义规则"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>在2.1.9版本之后,xmake不仅原生内置支持多种语言文件的构建,而且还可以通过自定义构建规则,让用户自己来实现复杂的未知文件构建。</p>\n<p>具体使用介绍,可参考相关文档:<a href=\"https://xmake.io/#/zh/manual?id=%E6%9E%84%E5%BB%BA%E8%A7%84%E5%88%99\">rule规则使用手册</a></p>\n<p>我们可以通过预先设置规则支持的文件后缀,来扩展其他文件的构建支持:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.8版本发布,改进对IDE和编辑器插件的支持",
|
|
|
+ "url": "/zh/posts/update-v2.1.8",
|
|
|
+ "date": {
|
|
|
+ "time": 1510142400000,
|
|
|
+ "string": "November 8, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此版本主要改进对IDE和编辑器插件的支持,目前xmake提供以下编辑器和IDE插件:</p>\n<ul>\n<li>Vim 编辑器插件\n<ul>\n<li><a href=\"https://github.com/luzhlon/xmake.vim\">xmake.vim</a> (第三方插件,感谢<a href=\"https://github.com/luzhlon\">@luzhlon</a>提供)</li>\n</ul>\n</li>\n<li>Visual Studio Code 编辑器插件 (<a href=\"https://github.com/xmake-io/xmake-vscode\">xmake-vscode</a>)</li>\n<li>Sublime Text 编辑器插件 (<a href=\"https://github.com/xmake-io/xmake-sublime\">xmake-sublime</a>)</li>\n<li>IntelliJ 系列ID...</li>\n</ul>\n<p>更多使用说明,请阅读:<a href=\"https://xmake.io/#/zh/\">文档手册</a>。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake-idea v1.0.3 发布, 一个集成xmake的Intellij-IDEA插件",
|
|
|
+ "url": "/zh/posts/xmake-idea-v1.0.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1510056000000,
|
|
|
+ "string": "November 7, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "Intellij",
|
|
|
+ "IDEA",
|
|
|
+ "插件"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake-idea\">xmake-idea</a> 插件深度集成了<a href=\"https://github.com/xmake-io/xmake\">xmake</a>和Intellij-IDEA,提供方便快速的跨平台c/c++构建。</p>\n<p>并且它也支持其他基于Intellij的IDE环境, 例如:Clion, Android Studio等等。</p>\n<p>注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:<a href=\"https://xmake.io/#/zh/\">文档手册</a>,项目源码:<a href=\"https://github.com/xmake-io/xmake\">Github</a>。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake-sublime v1.0.3正式版本发布",
|
|
|
+ "url": "/zh/posts/xmake-sublime-v1.0.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1508932800000,
|
|
|
+ "string": "October 25, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "sublime",
|
|
|
+ "插件"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://github.com/xmake-io/xmake-sublime\">xmake-sublime</a>插件深度集成了<a href=\"https://github.com/xmake-io/xmake\">xmake</a>和sublime text,提供方便快速的跨平台c/c++构建。</p>\n<p>注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:<a href=\"https://xmake.io/zh/\">文档手册</a>,项目源码:<a href=\"https://github.com/xmake-io/xmake\">Github</a>。</p>\n<ul>\n<li>快速开始</li>\n<li>语法色彩高亮</li>\n<li>API输入自动提示和补全</li>\n<li>状态栏信息</li>\n<li>完整的命令列表</li>\n<li>快速配置支持</li>\n<li>构建和运行</li>\n<li>快速宏记录和回放</li>\n<li>编译错误提示和跳转</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake-vscode v1.0.1正式版本发布",
|
|
|
+ "url": "/zh/posts/xmake-vscode-update-v1.0.1",
|
|
|
+ "date": {
|
|
|
+ "time": 1508241600000,
|
|
|
+ "string": "October 17, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake-vscode v1.0.1正式版本发布\ntags: [xmake, lua, 版本更新]\ndate: 2017-10-17\nauthor: Ruki</p>\n<hr>\n<p><a href=\"https://github.com/xmake-io/xmake-vscode\">xmake-vscode</a>插件深度集成了<a href=\"https://github.com/xmake-io/xmake\">xmake</a>和vscode,提供方便快速的跨平台c/c++构建。</p>\n<p>此版本为第一个正式版本,相比之前发布的体验版,新增了两大新特性:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.7版本发布,稳定性修复和细节改进",
|
|
|
+ "url": "/zh/posts/update-v2.1.7",
|
|
|
+ "date": {
|
|
|
+ "time": 1507896000000,
|
|
|
+ "string": "October 13, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此版本主要修复一些稳定性问题,并且对一些细节进行改进优化,并且提供<a href=\"https://marketplace.visualstudio.com/items?itemName=tboox.xmake-vscode#overview\">xmake-vscode</a>插件深度集成vscode编辑器环境。</p>\n<p>更多使用说明,请阅读:<a href=\"https://xmake.io/zh/\">文档手册</a>。</p>\n<p>项目源码:<a href=\"https://github.com/xmake-io/xmake\">Github</a>, <a href=\"https://gitee.com/tboox/xmake\">Gitee</a>.</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake-vscode插件开发过程记录",
|
|
|
+ "url": "/zh/posts/xmake-vscode",
|
|
|
+ "date": {
|
|
|
+ "time": 1507723200000,
|
|
|
+ "string": "October 11, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "vscode",
|
|
|
+ "插件开发"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake-vscode插件开发过程记录\ntags: [xmake, vscode, 插件开发]\ndate: 2017-10-11\nauthor: Ruki</p>\n<hr>\n<p>最近打算给<a href=\"https://github.com/xmake-io/xmake\">xmake</a>写一些IDE和编辑器的集成插件,发现vscode的编辑器插件比较容易上手的,就先研究了下vscode的插件开发流程,并且完成了<a href=\"https://github.com/xmake-io/xmake-vscode\">xmake-vscode</a>插件的开发。</p>\n<p>我们先来看几张最后的效果图:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake 源码架构剖析",
|
|
|
+ "url": "/zh/posts/xmake-sourcecode-arch",
|
|
|
+ "date": {
|
|
|
+ "time": 1506600000000,
|
|
|
+ "string": "September 28, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "源码",
|
|
|
+ "架构设计"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake 源码架构剖析\ntags: [xmake, lua, 源码, 架构设计]\ndate: 2017-09-28\nauthor: Ruki</p>\n<hr>\n<p>本文主要介绍下<a href=\"https://github.com/xmake-io/xmake\">xmake</a>的整体架构设计,以及源码结构的布局和模块划分。\n如果你想深度使用xmake,开发xmake插件、工程自定义脚本或者想为xmake贡献一些代码和特性,可以通过此本的介绍,对xmake项目整体有个大概的了解。,</p>\n<p>源码地址:<a href=\"https://github.com/xmake-io/xmake\">Github</a></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.6版本正式发布,稳定性修复",
|
|
|
+ "url": "/zh/posts/update-v2.1.6",
|
|
|
+ "date": {
|
|
|
+ "time": 1502971200000,
|
|
|
+ "string": "August 17, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake v2.1.6版本正式发布,稳定性修复\ntags: [xmake, lua, 版本更新]\ndate: 2017-08-17\nauthor: Ruki</p>\n<hr>\n<p>此版本主要修复一些稳定性问题。</p>\n<p>更多使用说明,请阅读:<a href=\"https://xmake.io/zh/\">文档手册</a>。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "更细粒度的文件编译选项控制",
|
|
|
+ "url": "/zh/posts/config-files-options",
|
|
|
+ "date": {
|
|
|
+ "time": 1502366400000,
|
|
|
+ "string": "August 10, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "编译选项"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>之前的版本对编译控制粒度,只能到target这一级:</p>\n<pre><code class=\"language-lua\">-- 全局根配置,所有target都会被影响\nadd_defines("ROOT")\n\ntarget("test")</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "使用xmake检测编译器特性支持",
|
|
|
+ "url": "/zh/posts/compiler-features",
|
|
|
+ "date": {
|
|
|
+ "time": 1502193600000,
|
|
|
+ "string": "August 8, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "cmake",
|
|
|
+ "编译器特性检测"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>如果我们要写跨平台的c/c++代码,很多时候需要处理由于不同编译器对c/c++各个标准支持力度不同导致的兼容性问题,一般通常的解决办法是:自己在代码中通过宏去判断各个编译器的版本、内置宏、标准库宏、<code>__has_feature</code>等来检测处理。</p>\n<p>自己如果在代码中按上述的方式检测,会很繁琐,尤其是像c++这种存在大量语法特性,如果一一检测过来,工作量是非常大的。</p>\n<p>另外比较省事的方式,就是依赖构建工具提前做好检测,然后把检测结果作为宏添加到编译中去,这样代码只需要判断对应的特性宏是否存在,就可以进行处理了。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.5版本正式发布,大量新特性更新",
|
|
|
+ "url": "/zh/posts/update-v2.1.5",
|
|
|
+ "date": {
|
|
|
+ "time": 1501934400000,
|
|
|
+ "string": "August 5, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新",
|
|
|
+ "包查找",
|
|
|
+ "编译器特性检测",
|
|
|
+ "预编译头文件",
|
|
|
+ "扩展模块"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此版本带来了大量新特性更新,具体详见:<a href=\"http://tboox.org/cn/2017/07/29/new-features-v2.1.5/\">xmake v2.1.5版本新特性介绍</a>。</p>\n<p>更多使用说明,请阅读:<a href=\"https://xmake.io/#/zh/\">文档手册</a>。</p>\n<p>项目源码:<a href=\"https://github.com/xmake-io/xmake\">Github</a>, <a href=\"https://gitee.com/tboox/xmake\">Gitee</a>.</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "不同编译器对预编译头文件的处理",
|
|
|
+ "url": "/zh/posts/precompiled-header",
|
|
|
+ "date": {
|
|
|
+ "time": 1501502400000,
|
|
|
+ "string": "July 31, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "预编译头文件",
|
|
|
+ "c++编译加速",
|
|
|
+ "优化编译",
|
|
|
+ "跨平台"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>最近为了给<a href=\"https://xmake.io\">xmake</a>实现预编译头文件的支持,研究了下各大主流编译器处理预编译头的机制以及之间的一些差异。</p>\n<p>现在的大部分c/c++编译器都是支持预编译头的,例如:gcc,clang,msvc等,用于优化c++代码的编译速度,毕竟c++的头文件如果包含了模板定义的话,编译速度是很慢的,\n如果能够吧大部分通用的头文件放置在一个<code>header.h</code>中,在其他源码编译之前预先对其进行编译,之后的代码都能重用这部分预编译头,就可以极大程度上减少频繁的头文件冗余编译。</p>\n<p>但是不同编译器对它的支持力度和处理方式,还是有很大差异的,并不是非常通用,在xmake中封装成统一的接口和使用方式,还是费了很大的功夫才搞定。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.5版本新特性介绍",
|
|
|
+ "url": "/zh/posts/new-features-v2.1.5",
|
|
|
+ "date": {
|
|
|
+ "time": 1501329600000,
|
|
|
+ "string": "July 29, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "cmake",
|
|
|
+ "包查找",
|
|
|
+ "编译器特性检测",
|
|
|
+ "预编译头文件",
|
|
|
+ "扩展模块"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>2.1.5版本现已进入收尾阶段,此版本加入了一大波新特性,目前正在进行稳定性测试和修复,在这里,先来介绍下新版本中引入了哪些些新特性和改进。</p>\n<pre><code>1. 提供类似cmake的find_*系列接口,实现各种查找,例如:find_package, find_library, find_file, ...\n2. 提供模块接口,实现编译器的各种检测,例如:has_features, has_flags, has_cincludes, has_cfuncs, ...\n3. 实现大量扩展模块,提供文件下载、解压缩、git操作等接口\n4. 支持预编译头文件支持,改进c++编译效率\n5. 支持在工程中自定义模块进行扩展\n6. 提供代码片段检测接口,实现更加灵活定制化的检测需求\n7. 改进option和target,提供更加动态化的配置\n8. 通过...\n\n此接口参考了cmake对于`find_*`系列接口的设计,实现在项目中动态的查找和添加包依赖。</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.4版本更新,增加交互式命令执行(REPL)",
|
|
|
+ "url": "/zh/posts/update-v2.1.4",
|
|
|
+ "date": {
|
|
|
+ "time": 1494417600000,
|
|
|
+ "string": "May 10, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此次更新,主要增强<code>xmake lua</code>插件,支持交互式命令执行(read-eval-print, REPL)以及一些稳定性问题修复。</p>\n<p>有时候在交互模式下,运行命令更加的方便测试和验证一些模块和api,也更加的灵活,不需要再去额外写一个脚本文件来加载。</p>\n<p>我们先看下,如何进入交互模式:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "使用xmake优雅地描述工程",
|
|
|
+ "url": "/zh/posts/project-desciption-examples",
|
|
|
+ "date": {
|
|
|
+ "time": 1491393600000,
|
|
|
+ "string": "April 5, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "工程描述"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: 使用xmake优雅地描述工程\ntags: [xmake, lua, 工程描述]\ndate: 2017-04-05\nauthor: Ruki</p>\n<hr>\n<h3>描述语法</h3>\n<p>xmake的描述语法基于lua实现,因此描述语法继承了lua的灵活性和简洁性,并且通过28原则,将描述作用域(简单描述)、脚本作用域(复杂描述)进行分离,使得工程更加的简洁直观,可读性非常好。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.3版本更新,修复安全和稳定性问题",
|
|
|
+ "url": "/zh/posts/update-v2.1.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1491134400000,
|
|
|
+ "string": "April 2, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此次更新,主要修复xmake的一些稳定性问题,并且对安装和卸载提供更加安全的权限处理,相关更新细节见:<a href=\"/cn/2017/03/30/safer-install-and-uninstall/\">改进权限问题,提升操作安全性</a></p>\n<p><img src=\"/static/img/xmake/safer_installation.png\" alt=\"safer_installation\"></p>\n<p>并且此版本还对用户使用上的体验进行了一些优化,例如:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake改进权限问题,提升操作安全性",
|
|
|
+ "url": "/zh/posts/safer-install-and-uninstall",
|
|
|
+ "date": {
|
|
|
+ "time": 1490875200000,
|
|
|
+ "string": "March 30, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "root权限",
|
|
|
+ "安装",
|
|
|
+ "卸载"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>最近对xmake的操作权限进行了升级,提供更加安全的命令操作,例如:</p>\n<ol>\n<li>改进<code>xmake install</code>和<code>xmake uninstall</code>命令,提供更加安全地安装和卸载支持</li>\n<li>参考homebrew,禁止在root下运行xmake命令</li>\n<li>改进xmake自身的编译安装脚本,不在root下进行build</li>\n</ol>\n<p>之前的<code>xmake install</code>和<code>xmake uninstall</code>行为,是自动<code>build</code>后进行安装,而大部分情况下安装目录是在<code>/usr/local</code>目录下。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.1.2版本更新,增强vs工程支持",
|
|
|
+ "url": "/zh/posts/update-v2.1.2",
|
|
|
+ "date": {
|
|
|
+ "time": 1490270400000,
|
|
|
+ "string": "March 23, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本",
|
|
|
+ "vs201x"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此版本主要增强了vs201x工程的生成,以及支持vs2017编译环境,并且针对archlinux提供更加方便的aur安装。</p>\n<ul>\n<li><a href=\"http://www.xmake.io/cn/\">项目主页</a></li>\n<li><a href=\"http://www.xmake.io/#zh/\">查看文档</a></li>\n</ul>\n<p>详细更新内容如下:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake 大版本发布:v2.1.1,新增golang, rust, dlang构建支持",
|
|
|
+ "url": "/zh/posts/update-v2.1.1",
|
|
|
+ "date": {
|
|
|
+ "time": 1488628800000,
|
|
|
+ "string": "March 4, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "版本",
|
|
|
+ "golang",
|
|
|
+ "rust",
|
|
|
+ "dlang"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>此版本重构了整个xmake,使得xmake更加方便地进行多语言扩展,并且在之前原有的构建语言支持上,新增了对<code>golang</code>, <code>dlang</code> 和 <code>rust</code> 程序构建支持。</p>\n<p>并且重写了所有文档,提供更加详细完整的接口手册和文档支持:<a href=\"http://www.xmake.io/#zh/\">新版文档</a></p>\n<p>License也从之前的LGPLv2.1改为Apache License 2.0,更加详细的改进请看下面详细描述:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake新版文档更新",
|
|
|
+ "url": "/zh/posts/new-document",
|
|
|
+ "date": {
|
|
|
+ "time": 1486468800000,
|
|
|
+ "string": "February 7, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "文档"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake新版文档更新\ntags: [xmake, lua, 文档]\ndate: 2017-02-07\nauthor: Ruki</p>\n<hr>\n<p>之前的<a href=\"#https://github.com/xmake-io/xmake/wiki\">wiki文档</a>结构不是很好,而且不方便检索。</p>\n<p>因此最近使用<a href=\"https://docute.js.org/\">docute</a>这个文档工具,重写了一遍整个xmake文档,并且增加了更加详细的api文档手册,后续会持续更新维护。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake使用演示",
|
|
|
+ "url": "/zh/posts/usage-demo",
|
|
|
+ "date": {
|
|
|
+ "time": 1484740800000,
|
|
|
+ "string": "January 18, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "使用演示"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake使用演示\ntags: [xmake, lua, 使用演示]\ndate: 2017-01-18\nauthor: Ruki</p>\n<hr>\n<p><a href=\"/cn/project\"><img src=\"/static/img/xmake/usage_demo.gif\" alt=\"usage_demo\"></a></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "利用debug库实现对lua的性能分析",
|
|
|
+ "url": "/zh/posts/lua-profiler",
|
|
|
+ "date": {
|
|
|
+ "time": 1484222400000,
|
|
|
+ "string": "January 12, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "性能分析"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>之前在给<a href=\"/cn/project\">xmake</a>做构建的效率优化的时候,需要对lua脚本的api调用性能进行分析,分析出最耗时一些lua调用api,\n找出性能瓶颈,来针对性地进行优化,那么问题来了,如果对lua脚本像c程序那样进行profile呢?</p>\n<p>我们现在看下最后实现完的最终效果:</p>\n<pre><code> 4.681, 98.84%, 1, anonymous : actions/build/main.lua: 36\n 3.314, 69.98%, 1, anonymous : actions/build/main.lua: 66\n 3.314, 69.98%, 1, build : actions/build/builder.lua: 127\n 3.298, 69.65%, 2, _build_targ...</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake新增智能代码扫描编译模式,无需手写任何make文件",
|
|
|
+ "url": "/zh/posts/build-without-makefile",
|
|
|
+ "date": {
|
|
|
+ "time": 1483790400000,
|
|
|
+ "string": "January 7, 2017"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "makefile"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>最近给<a href=\"https://xmake.io/cn\">xmake</a>增加了一个新特性,对于一份工程源码,可以不用编写makefile,也不用编写各种make相关的工程描述文件(例如:xmake.lua,makefile.am, cmakelist.txt等)</p>\n<p>xmake就可以直接编译他们,这是如何做到的呢,简单来说下实现原理:</p>\n<ol>\n<li>首先扫描当前目录下,xmake所以支持的所有源代码文件</li>\n<li>分析代码,检测哪些代码拥有main入口函数</li>\n<li>所有没有main入口的代码编译成静态库</li>\n<li>带有main入口的代码,编译成可执行程序,同时链接其他静态库程序</li>\n</ol>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "使用lua实现try-catch异常捕获",
|
|
|
+ "url": "/zh/posts/try-catch",
|
|
|
+ "date": {
|
|
|
+ "time": 1481716800000,
|
|
|
+ "string": "December 14, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "lua",
|
|
|
+ "try-catch",
|
|
|
+ "异常捕获"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>lua原生并没有提供try-catch的语法来捕获异常处理,但是提供了<code>pcall/xpcall</code>等接口,可在保护模式下执行lua函数。</p>\n<p>因此,可以通过封装这两个接口,来实现try-catch块的捕获机制。</p>\n<p>我们可以先来看下,封装后的try-catch使用方式:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake 工程描述语法更新",
|
|
|
+ "url": "/zh/posts/syntax-style",
|
|
|
+ "date": {
|
|
|
+ "time": 1479211200000,
|
|
|
+ "string": "November 15, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "描述语法"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake 工程描述语法更新\ntags: [xmake, 描述语法]\ndate: 2016-11-15\nauthor: Ruki</p>\n<hr>\n<p>最近对xmake.lua的工程描述语法进行了增强,现已可以同时支持两种不同语法风格。</p>\n<ul>\n<li>set-add描述风格</li>\n<li>key-val描述风格</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake 新增ios app2ipa插件",
|
|
|
+ "url": "/zh/posts/app-to-ipa",
|
|
|
+ "date": {
|
|
|
+ "time": 1478692800000,
|
|
|
+ "string": "November 9, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "ios"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>最近在做ios app的企业测试包,需要频繁打包分发给测试,因此将编译完的.app打包成ipa单独分发出去,这里调研下几种打包方案:</p>\n<ol>\n<li>直接通过iTunes来打包</li>\n<li>调用zip写个打包脚本</li>\n<li>使用第三方脚本和工具</li>\n</ol>\n<p>为了方便日常ios app打包程ipa,觉得可以把这个脚本放到xmake中去,作为一个小插件提供,也是个不错的方式。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.0.5 发布!",
|
|
|
+ "url": "/zh/posts/update-v2.0.5",
|
|
|
+ "date": {
|
|
|
+ "time": 1477828800000,
|
|
|
+ "string": "October 30, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake v2.0.5 发布!\ntags: [xmake, 版本更新]\ndate: 2016-10-30\nauthor: Ruki</p>\n<hr>\n<h3>新特性</h3>\n<ul>\n<li>为解释器作用域增加一些内建模块支持</li>\n<li>针对windows x64平台,支持ml64汇编器</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake 描述语法和作用域详解",
|
|
|
+ "url": "/zh/posts/api-scope",
|
|
|
+ "date": {
|
|
|
+ "time": 1477483200000,
|
|
|
+ "string": "October 26, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "api",
|
|
|
+ "工程描述",
|
|
|
+ "作用域"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake的工程描述文件xmake.lua虽然基于lua语法,但是为了使得更加方便简洁得编写项目构建逻辑,xmake对其进行了一层封装,使得编写xmake.lua不会像些makefile那样繁琐</p>\n<p>基本上写个简单的工程构建描述,只需三行就能搞定,例如:</p>\n<pre><code class=\"language-lua\">target("test")\n set_kind("binary")\n add_files("src/*.c")\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake支持vs2002-vs2015工程文件生成",
|
|
|
+ "url": "/zh/posts/generate-vs2015-project",
|
|
|
+ "date": {
|
|
|
+ "time": 1472472000000,
|
|
|
+ "string": "August 29, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "VisualStudio",
|
|
|
+ "vs2008"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake master上最新版本已经支持vs2002-vs2015工程文件的生成,通过<code>project</code>插件的方式提供,例如:</p>\n<p>创建vs2013工程文件:</p>\n<pre><code class=\"language-bash\">$ xmake project -k vs2013\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.0.4发布!",
|
|
|
+ "url": "/zh/posts/update-v2.0.4",
|
|
|
+ "date": {
|
|
|
+ "time": 1472472000000,
|
|
|
+ "string": "August 29, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "版本更新"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake v2.0.4发布!\ntags: [xmake, 版本更新]\ndate: 2016-08-29\nauthor: Ruki</p>\n<hr>\n<h3>新特性</h3>\n<ul>\n<li>在<code>xmake.lua</code>中添加原生shell支持,例如:<code>add_ldflags("$(shell pkg-config --libs sqlite3)")</code></li>\n<li>编译windows目标程序,默认默认启用pdb符号文件</li>\n<li>在windows上添加调试器支持(vsjitdebugger, ollydbg, windbg ... )</li>\n<li>添加<code>getenv</code>接口到<code>xmake.lua</code>的全局作用域中</li>\n<li>添加生成vstudio工程插件(支持:vs2002 - vs2015)</li>\n<li>为option添加<code>set_default</code>接口</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake支持vs2008生成",
|
|
|
+ "url": "/zh/posts/generate-vs2008-project",
|
|
|
+ "date": {
|
|
|
+ "time": 1471003200000,
|
|
|
+ "string": "August 12, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "VisualStudio",
|
|
|
+ "vs2008"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake master上最新版本已经支持vs2008工程文件的生成,通过<code>project</code>插件的方式提供,例如:</p>\n<p>创建vs2008工程文件:</p>\n<pre><code class=\"language-bash\">$ xmake project -k vs2008\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake内建变量和外置变量的使用",
|
|
|
+ "url": "/zh/posts/variables-usage",
|
|
|
+ "date": {
|
|
|
+ "time": 1470657600000,
|
|
|
+ "string": "August 8, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "内建变量",
|
|
|
+ "外置变量"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake内建变量和外置变量的使用\ntags: [xmake, 内建变量, 外置变量]\ndate: 2016-08-08\nauthor: Ruki</p>\n<hr>\n<h2>内建变量</h2>\n<p>内置在字符串中,例如:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake高级特性之自定义选项",
|
|
|
+ "url": "/zh/posts/custom-option",
|
|
|
+ "date": {
|
|
|
+ "time": 1470571200000,
|
|
|
+ "string": "August 7, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "自定义选项"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake还可以支持一些自定义选项开关,使得工程支持可选编译,方便工程的模块化管理。</p>\n<p>我们拿一个实际的例子来说:</p>\n<p>我们想在自己的工程中增加一个新开关选项:hello, 如果这个开关被启用,会在target中添加特定的一些源码文件,但是这个开挂默认是不被启用的,需要通过配置<code>xmake f --hello=true</code>才会被链接和使用</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "依赖包的添加和自动检测机制",
|
|
|
+ "url": "/zh/posts/add-package-and-autocheck",
|
|
|
+ "date": {
|
|
|
+ "time": 1470484800000,
|
|
|
+ "string": "August 6, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "依赖包",
|
|
|
+ "自动检测"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake将依赖库、依赖头文件、依赖类型、依赖接口统一用 option 选项机制进行了封装,更在上一层引入package包的机制,使得添加和检测依赖更加的模块化,简单化。。。</p>\n<p>下面通过一个具体实例,来看下xmake的包机制怎么使用。。</p>\n<p>假如你现在的工程已经有了两个包:zlib.pkg,polarssl.pkg(如何构建包,后续会详细说明,现在可以参考<a href=\"https://github.com/waruqi/tbox/tree/master/pkg\">TBOX依赖包</a>下已有包的例子),你的工程目录结构如下:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake高级特性之批量检测库函数",
|
|
|
+ "url": "/zh/posts/batch-check-library-interfaces",
|
|
|
+ "date": {
|
|
|
+ "time": 1470484800000,
|
|
|
+ "string": "August 6, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "批量检测"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>有时候可能用到某个库的某些函数接口,但是这个库有可能在某个平台上被裁减过了,接口支持不全,如果你想跨平台使用,就会出问题</p>\n<p>因此在使用之前进行检测是否存在这个函数,还是很有必要的,xmake提供了方便的api,可以批量检测某个库的一些函数:</p>\n<p>例如:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "使用xmake编译swift代码",
|
|
|
+ "url": "/zh/posts/compile-swift",
|
|
|
+ "date": {
|
|
|
+ "time": 1470484800000,
|
|
|
+ "string": "August 6, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "swift"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake不仅可以支持 c/c++文件,同时也支持 objc/c++,甚至swift代码的编译。</p>\n<p>我们先看一下如何创建Swift工程,首先执行--help,看下帮助文档:</p>\n<pre><code class=\"language-bash\">xmake create --help \n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "静态库和动态库的编译切换",
|
|
|
+ "url": "/zh/posts/switch-library-kind",
|
|
|
+ "date": {
|
|
|
+ "time": 1470225600000,
|
|
|
+ "string": "August 3, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "静态库",
|
|
|
+ "动态库"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: 静态库和动态库的编译切换\ntags: [xmake, 静态库, 动态库]\ndate: 2016-08-03\nauthor: Ruki</p>\n<hr>\n<p>如果你想在同一个target上既编译静态库,又能编译动态库,那么稍微修改下 xmale.lua就行了:</p>\n<pre><code class=\"language-lua\">add_target("test")</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake高级特性之选项绑定",
|
|
|
+ "url": "/zh/posts/binding-option",
|
|
|
+ "date": {
|
|
|
+ "time": 1470139200000,
|
|
|
+ "string": "August 2, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "选项绑定"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>什么是选项的绑定呢?</p>\n<p>例如我想在命令行中配置一个smallest的参数:<code>xmake f --smallest=y</code></p>\n<p>这个时候,需要同时禁用多个其他的选项开关,来禁止编译多个模块,就是这个需求,相当于一个选项 与其他 多个选项之间 是有联动效应的。。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake插件使用之doxygen文档生成",
|
|
|
+ "url": "/zh/posts/plugin-doxygen",
|
|
|
+ "date": {
|
|
|
+ "time": 1470139200000,
|
|
|
+ "string": "August 2, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "doxygen",
|
|
|
+ "插件",
|
|
|
+ "文档生成"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>这个doxygen插件比较简单,说白了就是一键生成工程文档,只需要执行下面这行命令就行了</p>\n<pre><code class=\"language-bash\">xmake doxygen\n</code></pre>\n<p>当然你也可以指定输出目录,可以工程源码目录:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "关于xmake下一步的开发计划",
|
|
|
+ "url": "/zh/posts/next-plan",
|
|
|
+ "date": {
|
|
|
+ "time": 1469793600000,
|
|
|
+ "string": "July 29, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "后续计划"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: 关于xmake下一步的开发计划\ntags: [xmake, 插件, 后续计划]\ndate: 2016-07-29\nauthor: Ruki</p>\n<hr>\n<p>最近有很多用户反馈xmake在windows上编译体验不是很好,不方便进行调试和开发。。</p>\n<p>其实xmake的定位主要还是以直接编译为主,提供跨平台的编译和部署,不依赖第三方IDE工程,不过目前确实在windows的体验还不是很好</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "在windows下支持调试运行",
|
|
|
+ "url": "/zh/posts/support-debugger-on-windows",
|
|
|
+ "date": {
|
|
|
+ "time": 1469448000000,
|
|
|
+ "string": "July 25, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "编译",
|
|
|
+ "符号文件",
|
|
|
+ "调试器",
|
|
|
+ "windows"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>现在xmake在windows下,也已经支持调试运行了,可以在编译完debug版本的程序后,直接进行调试开发。。</p>\n<p>我们继续以tbox工程为例:</p>\n<pre><code class=\"language-bash\">$ xmake f -m debug\n$ xmake r -d demo\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake默认启用pdb符号文件",
|
|
|
+ "url": "/zh/posts/enable-pdb-on-windows",
|
|
|
+ "date": {
|
|
|
+ "time": 1469361600000,
|
|
|
+ "string": "July 24, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "编译",
|
|
|
+ "符号文件",
|
|
|
+ "调试符号"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake默认启用pdb符号文件\ntags: [xmake, 编译, 符号文件, 调试符号]\ndate: 2016-07-24\nauthor: Ruki</p>\n<hr>\n<p>之前xmake默认编译windows目标,debug模式下采用的是<code>-Z7</code>编译选项,内置的调试符号信息到obj文件里面</p>\n<p>但是这种方式按msdn的文档上说,是属于旧式的调试符号文件格式,所以为了考虑后续的兼容性,xmake修改了默认的调试符号生成规则,</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake工程描述编写之选择性编译",
|
|
|
+ "url": "/zh/posts/condition-and-select-compile",
|
|
|
+ "date": {
|
|
|
+ "time": 1469275200000,
|
|
|
+ "string": "July 23, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "编译",
|
|
|
+ "工程描述",
|
|
|
+ "xmake.lua",
|
|
|
+ "条件判断"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake 提供了一些内置的条件判断api,用于在选择性编译时,获取到一些工程状态的相关信息,来调整编译逻辑。。</p>\n<p>例如:<code>is_os</code>, <code>is_plat</code>, <code>is_arch</code>, <code>is_kind</code>, <code>is_mode</code>, <code>is_option</code></p>\n<p>我们先拿最常用的<code>is_mode</code>来讲讲如何使用,这个api主要用来判断当前的编译模式,例如平常编译配置的时候,会执行:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "如何通过xmake进行交叉编译",
|
|
|
+ "url": "/zh/posts/how-to-compile-on-cross-toolchains",
|
|
|
+ "date": {
|
|
|
+ "time": 1469188800000,
|
|
|
+ "string": "July 22, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "交叉编译"
|
|
|
],
|
|
|
- "excerpt": "<p>构建能在多个平台上运行的应用程序可能具有挑战性,但 Xmake 让这一切变得简单得多。在本文中,我们将探索如何使用 Xmake 构建跨平台应用程序。</p>\n<p>在当今多样化的计算环境中,用户期望您的应用程序能在他们偏好的平台上运行。无论是 Windows、macOS 还是 Linux,Xmake 都提供了从单一代码库为所有平台构建应用所需的工具。</p>\n<p>以下是如何配置 Xmake 进行跨平台构建的简单示例:</p>\n"
|
|
|
+ "excerpt": "<p>title: 如何通过xmake进行交叉编译\ntags: [xmake, 交叉编译]\ndate: 2016-07-22\nauthor: Ruki</p>\n<hr>\n<p>xmake 提供了方便灵活的交叉编译支持,大部分情况下,都不需要配置很复杂的toolchains前缀,例如:<code>arm-linux-</code> 什么的</p>\n<p>只要这个toolchains目录满足如下结构(大部分的交叉工具链都是这个结构):</p>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "Xmake 入门指南",
|
|
|
- "url": "/zh/posts/post-3",
|
|
|
+ "title": "xmake编译配置过程详解",
|
|
|
+ "url": "/zh/posts/config-description",
|
|
|
"date": {
|
|
|
- "time": 1704456000000,
|
|
|
- "string": "January 5, 2024"
|
|
|
+ "time": 1468929600000,
|
|
|
+ "string": "July 19, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "教程",
|
|
|
- "入门"
|
|
|
+ "xmake",
|
|
|
+ "配置",
|
|
|
+ "android",
|
|
|
+ "vs",
|
|
|
+ "自动检测"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake 在构建程序的时候,会去自动检测系统环境,工程描述等来创建最合适的编译配置来进行编译。。</p>\n<p>一般情况下,我们只需要执行:</p>\n<pre><code class=\"language-bash\">$ xmake\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "内置变量与原生shell脚本运行",
|
|
|
+ "url": "/zh/posts/builtinvar-and-shell",
|
|
|
+ "date": {
|
|
|
+ "time": 1468843200000,
|
|
|
+ "string": "July 18, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "shell",
|
|
|
+ "内置变量",
|
|
|
+ "pkg-config"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake在xmake.lua中提供了 <code>$(varname)</code> 的语法,来支持内置变量的获取,例如:</p>\n<pre><code class=\"language-lua\">add_cxflags("-I$(buildir)")\n</code></pre>\n<p>它将会在在实际编译的时候,将内置的 <code>buildir</code> 变量转换为实际的构建输出目录:<code>-I./build</code></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "如何为windows编译启用pdb支持",
|
|
|
+ "url": "/zh/posts/enable-pdb-for-windows",
|
|
|
+ "date": {
|
|
|
+ "time": 1468843200000,
|
|
|
+ "string": "July 18, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "pdb",
|
|
|
+ "调试符号",
|
|
|
+ "windows"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake默认情况下是不会去生成pdb文件,就算是debug编译,启用了调试符号:</p>\n<pre><code class=\"language-lua\">set_symbols("debug")\n</code></pre>\n<p>也是不会生成额外的pdb文件,它会把所有调试符号内置到程序里面,如果要独立生成pdb文件,可以对<code>xmake.lua</code>进行如下修改:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "演示:构建一个简单的程序",
|
|
|
+ "url": "/zh/posts/demo-build-a-simple-project",
|
|
|
+ "date": {
|
|
|
+ "time": 1468756800000,
|
|
|
+ "string": "July 17, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "演示",
|
|
|
+ "编译",
|
|
|
+ "交叉编译"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://asciinema.org/a/79998\"><img src=\"https://asciinema.org/a/79998.png\" alt=\"asciicast\"></a></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.0.3 更新!",
|
|
|
+ "url": "/zh/posts/update-v2.0.3",
|
|
|
+ "date": {
|
|
|
+ "time": 1468756800000,
|
|
|
+ "string": "July 17, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "版本更新",
|
|
|
+ "xmake.io",
|
|
|
+ "windows"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"http://www.xmake.io/cn\">主页</a>\n<a href=\"https://github.com/waruqi/xmake\">源码</a></p>\n<ul>\n<li>\n<p>增加头文件依赖自动检测和增量编译,提高编译速度</p>\n</li>\n<li>\n<p>在终端中进行颜色高亮提示</p>\n</li>\n<li>\n<p>添加调试器支持,<code>xmake run -d program ...</code></p>\n</li>\n<li>\n<p>增强运行shell的系列接口</p>\n</li>\n<li>\n<p>更新luajit到v2.0.4版本</p>\n</li>\n<li>\n<p>改进makefile生成插件,移除对xmake的依赖,并且支持<code>windows/linux/macosx</code>等大部分pc平台</p>\n</li>\n<li>\n<p>优化多任务编译速度,在windows下编译提升较为明显</p>\n</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "如何快速构建一个简单的程序",
|
|
|
+ "url": "/zh/posts/how-to-build-a-simple-project",
|
|
|
+ "date": {
|
|
|
+ "time": 1468670400000,
|
|
|
+ "string": "July 16, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "编译",
|
|
|
+ "交叉编译"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: 如何快速构建一个简单的程序\ntags: [xmake, 编译, 交叉编译]\ndate: 2016-07-16\nauthor: Ruki</p>\n<hr>\n<p>首先我们通过内置的工程模板创建一个空工程:</p>\n<pre><code class=\"language-bash\">$ xmake create -P ./hello</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "利用xmake运行和调试程序",
|
|
|
+ "url": "/zh/posts/run-debug",
|
|
|
+ "date": {
|
|
|
+ "time": 1468670400000,
|
|
|
+ "string": "July 16, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "调试",
|
|
|
+ "运行"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: 利用xmake运行和调试程序\ntags: [xmake, 调试, 运行]\ndate: 2016-07-16\nauthor: Ruki</p>\n<hr>\n<p>xmake默认在编译完程序后,可以通过以下命令运行指定目标程序:</p>\n<pre><code class=\"language-bash\"> $xmake run [target] [arguments] ...\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "插件开发之色彩高亮显示",
|
|
|
+ "url": "/zh/posts/plugin-print-colors",
|
|
|
+ "date": {
|
|
|
+ "time": 1468497600000,
|
|
|
+ "string": "July 14, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "终端色彩高亮"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake在开发插件脚本的时候,除了可以使用lua内置的print进行终端输出外,还可以通过另外一个接口:<code>cprint</code>实现终端的色彩高亮输出</p>\n<p>例如:</p>\n<pre><code class=\"language-lua\"> cprint('${bright}hello xmake')\n cprint('${red}hello xmake')\n cprint('${bright green}hello ${clear}xmake')\n cprint('${blue onyellow underline}hello xmake${clear}')\n cprint('${red}hello ${magenta}xmake')\n cprint('${cyan}hello ${dim yellow}xmake')\n</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "头文件自动依赖检测和构建",
|
|
|
+ "url": "/zh/posts/includes-check",
|
|
|
+ "date": {
|
|
|
+ "time": 1468324800000,
|
|
|
+ "string": "July 12, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "头文件依赖",
|
|
|
+ "增量编译"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>为了进一步提升构建效率,减少没必要的重建,xmake新增了对头文件的依赖检测,以及自动构建仅仅需要重新编译的源文件,提升编译速度,并且完全支持windows、linux、macosx等大部分平台。。</p>\n<p>由于检测过程本身也会有一些性能损耗,因此xmake对此进行了深度优化,实现极速依赖检测:</p>\n<ul>\n<li>对依赖头文件进行过滤,如果是系统头文件,非自身项目的第三方头文件,自动忽略,这些头文件基本上不会再开发项目的时候,经常变动,所以没必要去每次检测他们,如果真有变动,手动重建下就行了</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "插件使用之加载自定义lua脚本",
|
|
|
+ "url": "/zh/posts/plugin-lua",
|
|
|
+ "date": {
|
|
|
+ "time": 1467892800000,
|
|
|
+ "string": "July 7, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "plugin",
|
|
|
+ "scripts"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 是一个现代化的构建系统,让 C/C++ 开发变得更加简单和高效。在本指南中,我们将介绍 Xmake 的基本设置和使用方法。</p>\n<p>安装 Xmake 非常简单。您可以使用以下方法之一:</p>\n<p>让我们创建一个简单的 C++ 项目:</p>\n"
|
|
|
+ "excerpt": "<p>xmake里面的lua脚本加载插件,可以让你方便调试和编写一些自定义的lua脚本,这个时候xmake就是一个纯lua的加载引擎。。</p>\n<p>例如,我想写个简单的<code>hello xmake!</code>的lua脚本,可以自己建个 <code>hello.lua</code> 文件,编写如下脚本:</p>\n<pre><code class=\"language-lua\"> function main()\n print("hello xmake!")\n end\n</code></pre>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "高级包管理",
|
|
|
- "url": "/zh/posts/post-4",
|
|
|
+ "title": "xmake插件开发之类库使用",
|
|
|
+ "url": "/zh/posts/plugin-modules",
|
|
|
"date": {
|
|
|
- "time": 1704283200000,
|
|
|
- "string": "January 3, 2024"
|
|
|
+ "time": 1467892800000,
|
|
|
+ "string": "July 7, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "类库"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake通过import接口,可以在自定义脚本中导入各种内置类库和扩展类库模块,使得xmake的插件开发具有更多的灵活性,提供更丰富的功能。</p>\n<p>我们先看下,目前xmake提供的一些类库:</p>\n<pre><code> .\n ├── _g.lua\n ├── assert.lua\n ├── catch.lua\n ├── coroutine.lua\n ├── debug.lua\n ├── finally.lua\n ├── format.lua\n ├── ifelse.lua\n ├── import\n │ └── core\n │ ├── base\n │ │ └── option.lua\n │ ├── platform\n │ │ ├── environment...</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake v2.0.2 更新!",
|
|
|
+ "url": "/zh/posts/update-v2.0.2",
|
|
|
+ "date": {
|
|
|
+ "time": 1467806400000,
|
|
|
+ "string": "July 6, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "版本更新",
|
|
|
+ "xmake.io",
|
|
|
+ "windows"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p><a href=\"https://xmake.io/cn\">主页</a>\n<a href=\"https://github.com/waruqi/xmake\">源码</a></p>\n<p>此版本,主要修复一些bug和稳定性改善</p>\n<ul>\n<li>修改安装和卸载的action处理</li>\n<li>更新工程模板</li>\n<li>增强函数检测</li>\n</ul>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake 新站发布:xmake.io",
|
|
|
+ "url": "/zh/posts/xmake-io",
|
|
|
+ "date": {
|
|
|
+ "time": 1467460800000,
|
|
|
+ "string": "July 2, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "站点",
|
|
|
+ "xmake.io"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake 新站发布:xmake.io\ntags: [xmake, 站点, xmake.io]\ndate: 2016-07-02\nauthor: Ruki</p>\n<hr>\n<p>tboox.org 开源项目组织旗下开源项目xmake发布独立站点:</p>\n<p><a href=\"https://xmake.io/cn\">https://xmake.io</a></p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "xmake后期发展随想",
|
|
|
+ "url": "/zh/posts/v2.1.1-goal",
|
|
|
+ "date": {
|
|
|
+ "time": 1466856000000,
|
|
|
+ "string": "June 25, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
"包管理",
|
|
|
- "高级"
|
|
|
+ "插件",
|
|
|
+ "代码移植编译"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: xmake后期发展随想\ntags: [xmake, 包管理, 插件, 代码移植编译]\ndate: 2016-06-25\nauthor: Ruki</p>\n<hr>\n<p>随着xmake v2.0.1 版本的发布,这大半年的辛苦总算告一段落,这个版本我基本上重构整个项目的90%的代码,几乎算是重写了,但结果还算挺满意的。。</p>\n<p>因为上个版本的架构设计的不是很好,不能很好进行扩展,也不支持插件模式,语法设计上也不严谨,容易出现各种隐患,这对于后期维护和发展来说,已经出现了不可逾越的瓶颈。。</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "插件开发之import类库",
|
|
|
+ "url": "/zh/posts/api-import",
|
|
|
+ "date": {
|
|
|
+ "time": 1465473600000,
|
|
|
+ "string": "June 9, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "import",
|
|
|
+ "类库",
|
|
|
+ "自定义脚本"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>import的主要用于导入xmake的扩展类库以及一些自定义的类库模块,一般用于 自定义脚本(on_build, on_run ..)、插件开发、模板开发、平台扩展、自定义任务task等地方。</p>\n<p>导入机制如下:</p>\n<ol>\n<li>优先从当前脚本目录下导入</li>\n<li>再从扩展类库中导入</li>\n</ol>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "高级特性之自定义脚本使用",
|
|
|
+ "url": "/zh/posts/custom-action",
|
|
|
+ "date": {
|
|
|
+ "time": 1465473600000,
|
|
|
+ "string": "June 9, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "自定义脚本",
|
|
|
+ "安装",
|
|
|
+ "打包",
|
|
|
+ "android",
|
|
|
+ "apk",
|
|
|
+ "jni"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>xmake提供了自定义打包、安装、运行脚本,可以更加灵活的针对个人实际需求来操作xmake</p>\n<p>这里用一个例子详细说明下,比如有个需求,我需要自动编译、安装、运行android app工程,并且能够支持jni\n可以进行如下操作</p>\n<p>首先创建个基于ant的android app工程,目录结构如下:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "高级特性之自定义task任务",
|
|
|
+ "url": "/zh/posts/custom-task",
|
|
|
+ "date": {
|
|
|
+ "time": 1465473600000,
|
|
|
+ "string": "June 9, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "task",
|
|
|
+ "自定义脚本",
|
|
|
+ "插件"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>task是xmake 2.0开始新增的特性,也是插件开发的核心,在 <a href=\"/cn/2016/06/09/plugin-hello/\">插件开发之hello xmake</a> 中我们简单介绍了下task的定义和使用</p>\n<p>当然task不仅可以用来写插件,而且还可以写一些简单的自定义任务。。</p>\n<p>我们先看下一个简单task实现:</p>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "插件开发之参数配置",
|
|
|
+ "url": "/zh/posts/plugin-arguments",
|
|
|
+ "date": {
|
|
|
+ "time": 1465473600000,
|
|
|
+ "string": "June 9, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "菜单选项"
|
|
|
+ ],
|
|
|
+ "excerpt": "<p>title: 插件开发之参数配置\ntags: [xmake, 插件, 菜单选项]\ndate: 2016-06-09\nauthor: Ruki</p>\n<hr>\n<p>我们继续以之前讲解的hello插件为基础,现在为其增加参数配置选项,并且指定一个独立的脚本文件中进行开发,这样我们就可以写一些更复杂的插件</p>\n<pre><code class=\"language-lua\"> -- 定义一个名叫hello的插件任务\n task("hello")</code></pre>\n"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "插件开发之hello xmake",
|
|
|
+ "url": "/zh/posts/plugin-hello",
|
|
|
+ "date": {
|
|
|
+ "time": 1465473600000,
|
|
|
+ "string": "June 9, 2016"
|
|
|
+ },
|
|
|
+ "author": "Ruki",
|
|
|
+ "tags": [
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "hello",
|
|
|
+ "makefile",
|
|
|
+ "doxygen",
|
|
|
+ "宏脚本"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 提供了一个强大的包管理系统,简化了 C/C++ 项目中的依赖处理。</p>\n<p>向您的项目添加包很简单:</p>\n<pre><code class=\"language-lua\">target("myapp")\n set_kind("binary")\n add_files("src/*.cpp")\n add_packages("fmt", "spdlog", "nlohmann_json")\n</code></pre>\n"
|
|
|
+ "excerpt": "<p>xmake从v2.0开始,全面支持插件模式,我们可以很方便的扩展实现自己的插件,并且xmake也提供了一些内建的使用插件</p>\n<p>我们可以执行下 <code>xmake -h</code> 看下当前支持的插件:</p>\n<pre><code> Plugins: \n l, lua Run the lua script.\n m, macro Run the given macro.\n doxygen Generate the doxygen document.\n hello Hello xmake!...</code></pre>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "IDE 集成指南",
|
|
|
- "url": "/zh/posts/post-10",
|
|
|
+ "title": "插件使用之批量打包",
|
|
|
+ "url": "/zh/posts/plugin-macro-package",
|
|
|
"date": {
|
|
|
- "time": 1704110400000,
|
|
|
- "string": "January 1, 2024"
|
|
|
+ "time": 1465473600000,
|
|
|
+ "string": "June 9, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "ide",
|
|
|
- "集成"
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "宏脚本",
|
|
|
+ "打包"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 为流行的 IDE 和编辑器提供了出色的集成,使开发更加高效。</p>\n<p>为 VS Code 安装 Xmake 扩展:</p>\n<ol>\n<li>打开 VS Code</li>\n<li>转到扩展 (Ctrl+Shift+X)</li>\n<li>搜索 "Xmake"</li>\n<li>安装扩展</li>\n</ol>\n"
|
|
|
+ "excerpt": "<p>xmake提供了一些比较实用的内置宏脚本,比如 批量打包宏脚本 <code>xmake macro package</code></p>\n<p>这个宏脚本可以批量打包指定平台的所有架构,例如:</p>\n<pre><code class=\"language-bash\"> # 批量打包当前平台的所有架构\n xmake macro package</code></pre>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "IDE 集成指南",
|
|
|
- "url": "/zh/posts/post-11",
|
|
|
+ "title": "插件使用之宏脚本记录",
|
|
|
+ "url": "/zh/posts/plugin-macro",
|
|
|
"date": {
|
|
|
- "time": 1704110400000,
|
|
|
- "string": "January 1, 2024"
|
|
|
+ "time": 1465473600000,
|
|
|
+ "string": "June 9, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "ide",
|
|
|
- "集成"
|
|
|
+ "xmake",
|
|
|
+ "插件",
|
|
|
+ "宏脚本"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 为流行的 IDE 和编辑器提供了出色的集成,使开发更加高效。</p>\n<p>为 VS Code 安装 Xmake 扩展:</p>\n<ol>\n<li>打开 VS Code</li>\n<li>转到扩展 (Ctrl+Shift+X)</li>\n<li>搜索 "Xmake"</li>\n<li>安装扩展</li>\n</ol>\n"
|
|
|
+ "excerpt": "<p>xmake 提供了一些内置的比较实用的插件,其中宏脚本插件是最具有代表性和实用性的,也是xmake比较推荐的一款插件,那它有哪些使用功能呢?</p>\n<p>我们先来看下:<code>xmake macro --help</code></p>\n<pre><code> Usage: xmake macro|m [options] [name] [arguments]</code></pre>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "IDE 集成指南",
|
|
|
- "url": "/zh/posts/post-5",
|
|
|
+ "title": "xmake v2.0.1 更新!",
|
|
|
+ "url": "/zh/posts/update-v2.0.1",
|
|
|
"date": {
|
|
|
- "time": 1704110400000,
|
|
|
- "string": "January 1, 2024"
|
|
|
+ "time": 1465473600000,
|
|
|
+ "string": "June 9, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "ide",
|
|
|
- "集成"
|
|
|
+ "xmake",
|
|
|
+ "版本更新",
|
|
|
+ "doxygen",
|
|
|
+ "插件"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 为流行的 IDE 和编辑器提供了出色的集成,使开发更加高效。</p>\n<p>为 VS Code 安装 Xmake 扩展:</p>\n<ol>\n<li>打开 VS Code</li>\n<li>转到扩展 (Ctrl+Shift+X)</li>\n<li>搜索 "Xmake"</li>\n<li>安装扩展</li>\n</ol>\n"
|
|
|
+ "excerpt": "<p>title: xmake v2.0.1 更新!\ntags: [xmake, 版本更新, doxygen, 插件]\ndate: 2016-06-09\nauthor: Ruki</p>\n<hr>\n<p><a href=\"https://github.com/waruqi/xmake\">源码</a></p>\n<p>此版本重构了90%的代码</p>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "IDE 集成指南",
|
|
|
- "url": "/zh/posts/post-6",
|
|
|
+ "title": "xmake高级特性之合并静态库",
|
|
|
+ "url": "/zh/posts/merge-static-library",
|
|
|
"date": {
|
|
|
- "time": 1704110400000,
|
|
|
- "string": "January 1, 2024"
|
|
|
+ "time": 1454587200000,
|
|
|
+ "string": "February 4, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "ide",
|
|
|
- "集成"
|
|
|
+ "xmake",
|
|
|
+ "静态库"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 为流行的 IDE 和编辑器提供了出色的集成,使开发更加高效。</p>\n<p>为 VS Code 安装 Xmake 扩展:</p>\n<ol>\n<li>打开 VS Code</li>\n<li>转到扩展 (Ctrl+Shift+X)</li>\n<li>搜索 "Xmake"</li>\n<li>安装扩展</li>\n</ol>\n"
|
|
|
+ "excerpt": "<p>title: xmake高级特性之合并静态库\ntags: [xmake, 静态库]\ndate: 2016-02-04\nauthor: Ruki</p>\n<hr>\n<p>xmake的add_files接口不仅可以添加源代码文件进行编译,还可以直接添加*.o/obj对象文件、以及*.a/lib的库文件到编译目标中,这个跟add_links是有区别的</p>\n<ul>\n<li>add_links:只能添加链接,例如: -lxxxx 这种,链接的目标也只能是可执行程序、动态库,而且只会链接需要的代码进去</li>\n<li>add_files:是直接将静态库中的所有对象文件,解包、重新打包到新的target中,这个target可以是新的静态库,也可以是可执行程序、或者动态库</li>\n</ul>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "IDE 集成指南",
|
|
|
- "url": "/zh/posts/post-7",
|
|
|
+ "title": "xmake中add_files的使用",
|
|
|
+ "url": "/zh/posts/project-add-files",
|
|
|
"date": {
|
|
|
- "time": 1704110400000,
|
|
|
- "string": "January 1, 2024"
|
|
|
+ "time": 1454587200000,
|
|
|
+ "string": "February 4, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "ide",
|
|
|
- "集成"
|
|
|
+ "xmake",
|
|
|
+ "模式匹配"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 为流行的 IDE 和编辑器提供了出色的集成,使开发更加高效。</p>\n<p>为 VS Code 安装 Xmake 扩展:</p>\n<ol>\n<li>打开 VS Code</li>\n<li>转到扩展 (Ctrl+Shift+X)</li>\n<li>搜索 "Xmake"</li>\n<li>安装扩展</li>\n</ol>\n"
|
|
|
+ "excerpt": "<p>如果你看了<a href=\"/cn/2016/02/03/project-description/\">工程描述入门</a>,那么是否觉得通过 add_files 添加源文件相当的方便?</p>\n<p>目前它可以支持<code>.c/.cpp/.s/.S/.m/.mm/.o/.obj/.a/.lib</code>这些后缀的源代码和库文件,其中通配符*表示匹配当前目录下文件,而**则匹配多级目录下的文件。</p>\n<p>例如:</p>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "IDE 集成指南",
|
|
|
- "url": "/zh/posts/post-8",
|
|
|
+ "title": "使用xmake编译工程",
|
|
|
+ "url": "/zh/posts/project-compile",
|
|
|
"date": {
|
|
|
- "time": 1704110400000,
|
|
|
- "string": "January 1, 2024"
|
|
|
+ "time": 1454587200000,
|
|
|
+ "string": "February 4, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "ide",
|
|
|
- "集成"
|
|
|
+ "xmake",
|
|
|
+ "编译",
|
|
|
+ "跨平台"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 为流行的 IDE 和编辑器提供了出色的集成,使开发更加高效。</p>\n<p>为 VS Code 安装 Xmake 扩展:</p>\n<ol>\n<li>打开 VS Code</li>\n<li>转到扩展 (Ctrl+Shift+X)</li>\n<li>搜索 "Xmake"</li>\n<li>安装扩展</li>\n</ol>\n"
|
|
|
+ "excerpt": "<p>title: 使用xmake编译工程\ntags: [xmake, 编译, 跨平台]\ndate: 2016-02-04\nauthor: Ruki</p>\n<hr>\n<p>如果你只想编译当前主机环境的平台,例如在windows上编译windows版本,在macosx上编译macosx版本,那么你只需要敲以下命令即可:</p>\n<pre><code class=\"language-bash\"> xmake\n</code></pre>\n"
|
|
|
},
|
|
|
{
|
|
|
- "title": "IDE 集成指南",
|
|
|
- "url": "/zh/posts/post-9",
|
|
|
+ "title": "xmake工程描述入门",
|
|
|
+ "url": "/zh/posts/project-description",
|
|
|
"date": {
|
|
|
- "time": 1704110400000,
|
|
|
- "string": "January 1, 2024"
|
|
|
+ "time": 1454500800000,
|
|
|
+ "string": "February 3, 2016"
|
|
|
},
|
|
|
- "author": "waruqi",
|
|
|
+ "author": "Ruki",
|
|
|
"tags": [
|
|
|
- "ide",
|
|
|
- "集成"
|
|
|
+ "xmake",
|
|
|
+ "premake"
|
|
|
],
|
|
|
- "excerpt": "<p>Xmake 为流行的 IDE 和编辑器提供了出色的集成,使开发更加高效。</p>\n<p>为 VS Code 安装 Xmake 扩展:</p>\n<ol>\n<li>打开 VS Code</li>\n<li>转到扩展 (Ctrl+Shift+X)</li>\n<li>搜索 "Xmake"</li>\n<li>安装扩展</li>\n</ol>\n"
|
|
|
+ "excerpt": "<p>title: xmake工程描述入门\ntags: [xmake, premake]\ndate: 2016-02-03\nauthor: Ruki</p>\n<hr>\n<p>xmake的工程描述文件,摈弃了makefile的繁琐复杂,借鉴了premake的简洁明了,原生支持lua脚本,使得更加的灵活、方便扩展。</p>\n<p>工程默认描述文件名为xmake.lua,支持多级目录嵌套,也可以通过以下命令,指定其他文件作为工程描述文件:</p>\n"
|
|
|
}
|
|
|
]
|