![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
跨平台
文章平均质量分 94
waruqi
个人主页:https://tboox.org
展开
-
Xmake v2.7.3 发布,包组件和 C++ 模块增量构建支持
这个新特性主要用于实现从一个 C/C++ 包中集成特定的子库,一般用于一些比较大的包中的库组件集成。因为这种包里面提供了很多的子库,但不是每个子库用户都需要,全部链接反而有可能会出问题。sfml~foo和sfml~bar会作为两个独立的包,重复安装,占用双倍的磁盘空间也会重复编译一些共用代码,影响安装效率如果一个目标同时依赖了sfml~foo和sfml~bar,会存在链接冲突。原创 2022-11-08 12:09:57 · 580 阅读 · 0 评论 -
xmake v2.6.5 发布,远程编译支持
layout: post.cntitle: “xmake v2.6.5 发布,远程编译支持”tags: xmake lua C/C++ cargo rust remote-compilationcategories: xmakeXmake 是一个基于 Lua 的轻量级跨平台构建工具。它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门.原创 2022-04-25 14:58:53 · 1370 阅读 · 0 评论 -
xmake v2.5.5 发布,支持下载集成二进制镜像包
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。2.5.5 版本中,我们继续改进远程包集成的体验,实现在云端预编译包,然后直接下载集成预编译的二进制包。这对于一些编译非常慢的包,可以极大的减少包的安装时间。另外,新版本中,我们还重新实现了新版的本地包生成方案,完全无缝支持 add_requires原创 2021-07-01 13:56:29 · 286 阅读 · 0 评论 -
C/C++ 构建系统,我用 xmake
XMake 是什么XMake 是一个基于 Lua 的 现代化 C/C++ 构建系统。它的语法简洁易上手,对新手友好,即使完全不会 lua 也能够快速入门,并且完全无任何依赖,轻量,跨平台。同时,它也是一个自满足的构建系统,拥有强大的包管理系统,快速的构建引擎。相比 Ninja/Scons/Make 作为 Build backend,CMake/Meson 作为 Project Generator,那么 XMake 就是这两者外加一个包管理。xmake = Build backend + Proje原创 2021-05-06 09:58:33 · 784 阅读 · 0 评论 -
Xrepo:一个现代化的跨平台 C/C++ 包管理器
xrepo 是一个基于 Xmake 的跨平台 C/C++ 包管理器。项目源码官方文档它基于 xmake 提供的运行时,但却是一个完整独立的包管理程序,相比 vcpkg/homebrew 此类包管理器,xrepo 能够同时提供更多平台和架构的 C/C++ 包。并且还支持多版本语义选择,另外它还是一个去中心化的分布式仓库,不仅仅提供了官方的 xmake-repo 仓库,还支持用户自建多个私有仓库。同时,xrepo 也支持从 vcpkg/homebrew/conan 等第三方包管理器中安装包,并提供原创 2020-11-25 09:49:22 · 830 阅读 · 0 评论 -
xmake v2.3.8 发布, 新增 Intel C++/Fortran 编译器支持
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。在这个新版本中,我们对 Intel 系列的 C++ 和 Fortran 编译器做了全平台支持,并且改进了上个版本新加的 Wasm 工具链支持,同时对 Qt SDK for Wasm 也进行了支持。另外,我们还将 luajit 升级到最新的 v2.1 版原创 2020-10-18 09:47:04 · 471 阅读 · 1 评论 -
xmake v2.3.6 发布, 新增fortran编译支持
这个版本重点对其他语言的支持做了一些改进,比如新增了fortran的编译支持,zig语言的实验性支持,另外对golang/dlang增加了第三方依赖包支持以及交叉编译支持。虽然,xmake重点关注c/c++的构建支持,但是其他语言的支持xmake也会不定期做一些改进,其主要目的并不是替代它们官方自身的构建系统,仅仅只是为了支持与c/c++的混合编译,更好的为c/c++项目服务,毕竟有些c/c++项目中,还是会偶尔调用其他语言的代码接口,比如与cuda, dlang, objc,swift, asm等语言原创 2020-07-29 09:35:48 · 290 阅读 · 0 评论 -
xmake从入门到精通12:通过自定义脚本实现更灵活地配置
xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。本文主要详细讲解下,如何通过添加自定义的脚本,在脚本域实现更加复杂灵活的定制。项目源码官方文档配置分离xmake.lua采用二八原则实现了描述域、脚本域两层分离式配置。什么是二八原则呢,简单来说,大部分项目的配置,80%的情况下,都是些基础的常规配置,比如:add_cxflags, add_links等,只有剩下不到20%的地方才需要额外做些复原创 2020-07-24 13:32:35 · 481 阅读 · 0 评论 -
xmake v2.3.4 发布, 更加完善的工具链支持
为了让xmake更好得支持交叉编译,这个版本我重构了整个工具链,使得工具链的切换更加的方便快捷,并且现在用户可以很方便地在xmake.lua中扩展自己的工具链。关于平台的支持上,我们新增了对*BSD系统的支持,另外,此版本还新增了一个ninja主题风格,实现类似ninja的编译进度显示,例如:项目源码官方文档新特性介绍工具链改进工具链和平台完全分离之前的版本,平台和工具链绑定的过于紧密,例如xmake f -p windows 平台,默认只能使用msvc的编译,想要切到clang或者其他原创 2020-06-09 17:03:00 · 368 阅读 · 0 评论 -
xmake v2.3.1 发布, 无缝对接其他构建系统
最近对xmake内部做了不少的重构来改进,并且新增了不少实用的新特性,欢迎来体验。项目源码官方文档一些新特性:一键编译其他构建系统维护的项目,实现无缝对接,并且支持交叉编译(比如autotools的快速交叉编译,见下文详述)新增xmake project -k ninja工程生成插件,支持对build.ninja构建系统文件的生成一些改进点:改进命令行参数输入,支持...原创 2020-02-24 21:30:41 · 1125 阅读 · 1 评论 -
xmake v2.2.9 发布, 新增c 20 modules的实验性支持
这个版本没啥太大新特性,主要对c 20 modules进行了实验性支持,目前支持clang/msvc编译器,除此之外改进了不少使用体验,并且提高了一些稳定性。另外,这个版本新增了socket.io支持以及对应协程io的调度支持,为下个版本的远程编译,以及后续的分布式编译做准备。项目源码官方文档新特性介绍c 20 modulesc modules已经正式纳入了c 20...原创 2019-12-22 21:18:23 · 1175 阅读 · 0 评论 -
xmake从入门到精通10:多个子工程目标的依赖配置
xmake是一个基于Lua的轻量级现代化c/c 的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。本文主要详细讲解下,如果在一个项目中维护和生成多个目标文件的生成,以及它们之间的依赖关系设置。项目源码官方文档target到底是什么?xmake的概念定义里,一个独立的项目工程可能会有多个子工程组织在一起,每个子工程对应只能生成一个唯...原创 2019-12-13 09:05:53 · 1339 阅读 · 0 评论 -
xmake从入门到精通9:交叉编译详解
xmake是一个基于Lua的轻量级现代化c/c 的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。除了win, linux, macOS平台,以及android, ios等移动端平台的内建构建支持,xmake也支持对各种其他工具链的交叉编译支持,本文我们将会详细介绍下如何使用xmake进行交叉编译。项目源码官方文档交叉编译工具链简介...原创 2019-12-08 21:00:31 · 2138 阅读 · 0 评论 -
跨平台c开发库tbox:内存库使用详解
TBOX是一个用c语言实现的跨平台开发库。针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。这个项目的目的,是为了使C开发更加的简单高效。源码仓库:https://github.com/tboox/tbox在线文档:https://tboox.io/#/...原创 2019-12-06 11:43:15 · 2061 阅读 · 0 评论 -
xmake从入门到精通8:切换编译模式
xmake是一个基于Lua的轻量级现代化c/c 的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。本文我们会详细介绍下如何在项目构建过程中切换debug/release等常用构建模式,以及自定义其他编译模式。项目源码官方文档调试和发布模式通常,如果我们是通过xmake create命令创建的项目,会在xmake.lua里面自动添加...原创 2019-12-06 09:31:07 · 1303 阅读 · 0 评论 -
xmake新增对Qt编译环境支持
在最新的xmake v2.2.1版本中,新增了对Qt SDK环境的支持,我们完全可以脱离Qt Creater进行Qt应用程序的开发,甚至配合vscode/idea等编辑器+xmake插件(xmake-vscode, xmake-idea …), 用户完全可以切换到自己最常用的编辑器环境中去开发和构建Qt程序,例如这样:通过模板创建空工程xmake内置了一些工程模板可以用来快速创建一个...原创 2018-05-31 09:17:27 · 1308 阅读 · 0 评论