2016-07-02 ruki
tboox.org 开源项目组织旗下开源项目xmake发布独立站点: http://xmake.io 继续阅读 »
2016-07-23 ruki
xmake 提供了一些内置的条件判断api,用于在选择性编译时,获取到一些工程状态的相关信息,来调整编译逻辑。。 例如:is_os, is_plat, is_arch, is_kind, is_mode, is_option is_mode 我们先拿最常用的is_mode来讲讲如何使用,这个api主要用来判断当前的编译模式,例如平常编译配置的时候,会执行: bash $ xmake f -m debug $ xmake 来编译debug版本,那么模式就是debug,那么release版本,也就是release了 bash $ xmake f -m release $ xmake 但是如果仅仅只是这么配置,xmake 继续阅读 »
2017-03-30 ruki
最近对xmake的操作权限进行了升级,提供更加安全的命令操作,例如: 改进xmake install和xmake uninstall命令,提供更加安全地安装和卸载支持 参考homebrew,禁止在root下运行xmake命令 改进xmake自身的编译安装脚本,不在root下进行build 安全问题1 之前的xmake install和xmake uninstall行为,是自动build后进行安装,而大部分情况下安装目录是在/usr/local目录下。 因此,需要root权限才能写入,那么之前的方式只能暴力地直接加上sudo xmake install来执行。 可想而知,虽然安装确实成功了,但是由于默认的自动构建行为,导致生成 继续阅读 »
2017-09-28 ruki
本文主要介绍下xmake的整体架构设计,以及源码结构的布局和模块划分。 如果你想深度使用xmake,开发xmake插件、工程自定义脚本或者想为xmake贡献一些代码和特性,可以通过此本的介绍,对xmake项目整体有个大概的了解。, 源码地址:Github 顶层目录结构 bash ./xmake/ ├── actions # 内建的一些基础task,用于基本的构建安装等操作 ├── core # xmake的核心模块,提供最底层的实现支持 ├── languages # 所有的语言相关特性支持和扩展,都在此目录下 ├── modules # 内置的扩展模块,可用`import`导入使用 ├── pack 继续阅读 »
2016-02-04 ruki
如果你只想编译当前主机环境的平台,例如在windows上编译windows版本,在macosx上编译macosx版本,那么你只需要敲以下命令即可: bash xmake 因为xmake默认会去检测当前的环境,默认编译当前主机的平台版本,不需要做额外的配置,并且默认编译的是release版本。 如果工程里面有多个目标,那么上面的命令,会去编译所有目标,如果只想编译指定一个目标,例如:test,那么只需执行: bash xmake test 如果你想编译debug版本,那么需要做些简单的配置: bash xmake config --mode=debug xmake xmake针对每个 继续阅读 »
2017-04-02 ruki
概述 此次更新,主要修复xmake的一些稳定性问题,并且对安装和卸载提供更加安全的权限处理,相关更新细节见:改进权限问题,提升操作安全性 并且此版本还对用户使用上的体验进行了一些优化,例如: 减少冗余检测和提示信息,提升检测效率 在非xmake工程自动生成xmake.lua时提供更加友好的提示,避免误操作 在任意工程子目录也可正常执行xmake操作,类似git 提供更加安全友好的安装和卸载提示信息 详细更新信息,可参考下面的更新细节: 新特性 #65: 为target添加set_default接口用于修改默认的构建所有targets行为 允许在工程子目录执行xmake命令进行构建,xmake会自动检测所在的工程根目录 继续阅读 »
2016-07-16 ruki
xmake默认在编译完程序后,可以通过以下命令运行指定目标程序: bash $xmake run [target] [arguments] ... 并且在linux/macosx下面,目前已经支持关联调试器,去直接调试指定目标了,只需要加上-d/--debug参数选项: bash $xmake run -d [target] [arguments] ... 默认情况下,xmake在macosx下用的是lldb,在linux下用的是gdb,调试器xmake会在配置的时候去自动检测,如果需要指定调试器路径,可以手动去配置它: bash $xmake f --debugger=/usr/bin/gdb 继续阅读 »
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的描述语法是按作用域划分的,主要分为: 外部作用域 内部作用域 继续阅读 »
2016-08-29 ruki
xmake master上最新版本已经支持vs2002-vs2015工程文件的生成,通过project插件的方式提供,例如: 创建vs2013工程文件: bash $ xmake project -k vs2013 默认输出目录是在当前工程的下面,会生成一个vs2008的工程文件夹,打开解决方案编译后,默认的输出文件路径跟xmake.lua描述的是完全一致的,一般都是在build目录下 除非你手动指定其他的构建目录,例如:xmake f -o /tmp/build 创建vs2008工程文件,并且创建工程文件到指定目录: bash $ xmake project -k vs2008 f:\vsproject 继续阅读 »
2016-07-24 ruki
之前xmake默认编译windows目标,debug模式下采用的是-Z7编译选项,内置的调试符号信息到obj文件里面 但是这种方式按msdn的文档上说,是属于旧式的调试符号文件格式,所以为了考虑后续的兼容性,xmake修改了默认的调试符号生成规则, 改为默认启用pdb符号文件,并且pdb的方式更为常用。。 这个行为的修改,并不会影响到xmake.lua的设置,如果在这个文件中,设置了启用调试符号: lua set_symbols("debug") 那么,编译debug版本的目标时,就会自动生成pdb文件,以tbox为例: bash $ xmake f -m debug $ xmake 编译完成后,会自动在build 继续阅读 »