2016-07-07 ruki
xmake通过import接口,可以在自定义脚本中导入各种内置类库和扩展类库模块,使得xmake的插件开发具有更多的灵活性,提供更丰富的功能。 我们先看下,目前xmake提供的一些类库: . ├── _g.lua ├── assert.lua ├── catch.lua ├── coroutine.lua ├── debug.lua ├── finally.lua ├── format.lua ├── ifelse.lua ├── import │   └── core │   ├── base │   │  继续阅读 »
2020-11-19 ruki
LTUI is a lua-based cross-platform character terminal UI interface library. This framework is derived from the requirement of graphical menu configuration in xmake, similar to the menuconf of linux kernel to configure compilation parameters, so based on curses and lua, a complete set of cross- The character terminal u 继续阅读 »
2015-11-27 derekchan
前阵子重构部门业务框架,大部分代码转移到了Laravel,小部分代码遗留在旧框架中。在转移的过程中Nginx是无法通过通用配置来进行两个框架的Url重写切换的,Nginx需要对每个Module,甚至每个Action都进行配置,导致Nginx配置冗余巨大,参与的同事每上线一个功能就需要上服务器增加或修改Nginx配置,苦不堪言。 继续阅读 »
2015-11-27 Li Shuai
为了响应总菊的要求, 互联网智能电视盒子必须接入牌照方的播控平台, 登陆时必须认证一下, 认证通过才让你接入我们的服务, 否则你就呵呵了。我们有两个接口会代理一下用户的请求, 大致逻辑是: 客户端首先请求接口A, 会把MAC地址带过来, 接口A的handler会做一些校验, 然后根据一些其他的参数, 重新组装一个请求去访问牌照方的接口, 根据参数的不同会请求不同的接口 牌照方会根据用户的MAC地址和其他信息返回鉴权的结果, 返回里面会有某个字段表示成功还是失败 接口A对牌照方的接口做些校验, 没问题的返给客户端, 客户端根据鉴权结果, 成功则继续进行剩下的鉴权,失败则终止请求, 用户可能就无法使用剩下的服务 看起来是个很简单的只 继续阅读 »
2017-04-05 ruki
描述语法 xmake的描述语法基于lua实现,因此描述语法继承了lua的灵活性和简洁性,并且通过28原则,将描述作用域(简单描述)、脚本作用域(复杂描述)进行分离,使得工程更加的简洁直观,可读性非常好。 因为80%的工程,并不需要很复杂的脚本控制逻辑,只需要简单的几行配置描述,就可满足构建需求,基于这个假设,xmake分离作用域,使得80%的xmake.lua文件,只需要这样描述: lua target("demo") set_kind("binary") add_files("src/*.c") 而仅有的20%的工程,才需要这样描述: ```lua target("demo") set_kind 继续阅读 »
2016-02-03 ruki
xmake的工程描述文件,摈弃了makefile的繁琐复杂,借鉴了premake的简洁明了,原生支持lua脚本,使得更加的灵活、方便扩展。 工程默认描述文件名为xmake.lua,支持多级目录嵌套,也可以通过以下命令,指定其他文件作为工程描述文件: bash xmake -f /tmp/xxx.lua xmake --file=xxx.lua 下面先来看一个最简单的例子: ```lua -- 添加一个名为demo的目标到工程 target("demo") -- 设置目标程序类型为二进制可执行程序,一般为console的终端命令行程序 set_kind("binary") 继续阅读 »
2017-03-04 ruki
New features Add --links, --linkdirs and --includedirs configure arguments Add app2ipa plugin Add dictionary syntax style for xmake.lua Provide smart scanning and building mode without xmake.lua Add set_xmakever api for xmake.lua Add add_frameworks api for objc and swift Support multi-languages extension and add golan 继续阅读 »
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-03-04 ruki
概述 此版本重构了整个xmake,使得xmake更加方便地进行多语言扩展,并且在之前原有的构建语言支持上,新增了对golang, dlang 和 rust 程序构建支持。 并且重写了所有文档,提供更加详细完整的接口手册和文档支持:新版文档 License也从之前的LGPLv2.1改为Apache License 2.0,更加详细的改进请看下面详细描述: 新特性 添加--links, --linkdirs and --includedirs 配置参数 添加app2ipa插件 为xmake.lua工程描述增加dictionay语法风格 提供智能扫描编译模式,在无任何xmake.lua等工程描述文件的情况下,也能直接快速编译 为 继续阅读 »
2016-07-18 ruki
xmake在xmake.lua中提供了 $(varname) 的语法,来支持内置变量的获取,例如: lua add_cxflags("-I$(buildir)") 它将会在在实际编译的时候,将内置的 buildir 变量转换为实际的构建输出目录:-I./build 并且这些变量在自定义脚本中,也是可以支持的,例如: lua target("test") after_build(target) print("build ok for $(plat)!") end 这将会在编译完后,输出: lua build ok for macosx! 这些内置变量,大部分都是通过配置的时候,缓存的 继续阅读 »