2020-11-15 ruki
xrepo 是一个基于 Xmake 的跨平台 C/C++ 包管理器。 项目源码 官方文档 它基于 xmake 提供的运行时,但却是一个完整独立的包管理程序,相比 vcpkg/homebrew 此类包管理器,xrepo 能够同时提供更多平台和架构的 C/C++ 包。 并且还支持多版本语义选择,另外它还是一个去中心化的分布式仓库,不仅仅提供了官方的 xmake-repo 仓库,还支持用户自建多个私有仓库。 同时,xrepo 也支持从 vcpkg/homebrew/conan 等第三方包管理器中安装包,并提供统一一致的库链接信息,方便与第三方项目的集成对接。 如果你想要了解更多,请参考:在线文档, Github 以及 Gitee 继续阅读 »
2016-10-26 ruki
xmake的工程描述文件xmake.lua虽然基于lua语法,但是为了使得更加方便简洁得编写项目构建逻辑,xmake对其进行了一层封装,使得编写xmake.lua不会像些makefile那样繁琐 基本上写个简单的工程构建描述,只需三行就能搞定,例如: lua target("test") set_kind("binary") add_files("src/*.c") 然后只需要执行编译并且运行它: bash $ xmake run test 这对于想要临时写些测试代码来讲,极大地提升了开发效率。。 作用域与工程描述语法 xmake的描述语法是按作用域划分的,主要分为: 外部作用域 内部作用域 继续阅读 »
2017-10-25 ruki
xmake-sublime插件深度集成了xmake和sublime text,提供方便快速的跨平台c/c++构建。 注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:文档手册,项目源码:Github。 特性 快速开始 语法色彩高亮 API输入自动提示和补全 状态栏信息 完整的命令列表 快速配置支持 构建和运行 快速宏记录和回放 编译错误提示和跳转 快速开始 编译错误提示和跳转 继续阅读 »
2017-10-17 ruki
xmake-vscode插件深度集成了xmake和vscode,提供方便快速的跨平台c/c++构建。 此版本为第一个正式版本,相比之前发布的体验版,新增了两大新特性: 快速宏记录和回放 编译错误解析和问题列表 注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:文档手册,项目源码:Github。 关于xmake-vscode的更多特性介绍,请见下文,关于xmake-vscode插件的详细过程,请参考文章:xmake-vscode插件开发过程记录 特性 语法色彩高亮 API输入自动提示和补全 状态栏快捷工具 完整的命令列表 快速配置支持 构建和安装 运行和调试 快速宏记录和回放 编译错误解 继续阅读 »
2017-11-07 ruki
xmake-idea plugin is a xmake integration in Intellij-IDEA. It is deeply integrated with xmake and Intellij-IDEA to provide a convenient and fast cross-platform c/c++ development and building. And It also support other Intellij-based platform, like Clion, Android Studio and etc. You need install xmake first and a pro 继续阅读 »
2017-11-08 ruki
此版本主要改进对IDE和编辑器插件的支持,目前xmake提供以下编辑器和IDE插件: Vim 编辑器插件 xmake.vim (第三方插件,感谢@luzhlon提供) Visual Studio Code 编辑器插件 (xmake-vscode) Sublime Text 编辑器插件 (xmake-sublime) IntelliJ 系列IDE插件 (xmake-idea) IntelliJ-IDEA CLion Android Studio 更多使用说明,请阅读:文档手册。 项目源码:Github, Gitee. 新特性 添加XMAKE_LOGFILE环境变量,启用输出到日志文件 添加对tinyc编译器的支持 改进 继续阅读 »
2017-11-07 ruki
xmake-idea 插件深度集成了xmake和Intellij-IDEA,提供方便快速的跨平台c/c++构建。 并且它也支持其他基于Intellij的IDE环境, 例如:Clion, Android Studio等等。 注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:文档手册,项目源码:Github。 特性 快速开始 创建空工程向导 全局工程配置 运行环境配置 菜单栏工具 快捷的编译工具窗口 构建和运行 错误解析和跳转 快速开始 错误解析和跳转 继续阅读 »
2017-04-02 ruki
Links Homepage Documents This version provide safer xmake install and xmake uninstall. New features #65: Add set_default api for target to modify default build and install behavior Allows to run xmake command in project subdirectories, it will find the project root directory automatically Add add_rpathdirs for tar 继续阅读 »
2017-07-31 ruki
最近为了给xmake实现预编译头文件的支持,研究了下各大主流编译器处理预编译头的机制以及之间的一些差异。 现在的大部分c/c++编译器都是支持预编译头的,例如:gcc,clang,msvc等,用于优化c++代码的编译速度,毕竟c++的头文件如果包含了模板定义的话,编译速度是很慢的, 如果能够吧大部分通用的头文件放置在一个header.h中,在其他源码编译之前预先对其进行编译,之后的代码都能重用这部分预编译头,就可以极大程度上减少频繁的头文件冗余编译。 但是不同编译器对它的支持力度和处理方式,还是有很大差异的,并不是非常通用,在xmake中封装成统一的接口和使用方式,还是费了很大的功夫才搞定。 msvc的预编译头处理 预编译头 继续阅读 »
2016-08-06 ruki
xmake将依赖库、依赖头文件、依赖类型、依赖接口统一用 option 选项机制进行了封装,更在上一层引入package包的机制,使得添加和检测依赖更加的模块化,简单化。。。 下面通过一个具体实例,来看下xmake的包机制怎么使用。。 假如你现在的工程已经有了两个包:zlib.pkg,polarssl.pkg(如何构建包,后续会详细说明,现在可以参考TBOX依赖包下已有包的例子),你的工程目录结构如下: demo - xmake.lua - src main.c - pkg zlib.pkg polarssl.pkg 那么你可以修改xmake.lua来使用上述的两个依赖包: 继续阅读 »