xmake v2.3.8 发布, 新增 Intel C++/Fortran 编译器支持

2020-10-18
阅读 6 分钟
1.6k
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。

[转]:xmake 工程描述语法更新

2016-11-17
阅读 2 分钟
2.6k
最近对xmake.lua的工程描述语法进行了增强,现已可以同时支持两种不同语法风格。 set-add描述风格 key-val描述风格 set-add描述风格 这种是xmake经典的设置风格,例如: {代码...} 优势:控制灵活,可以根据各种条件,通过if-then进行灵活的条件编译,可以驾驭各种高度复杂的配置需求。 劣势:作用域控制不明显,需要手...

[转]:线程局部存储tls的使用

2016-09-28
阅读 4 分钟
3.2k
线程局部存储(Thread Local Storage,TLS)主要用于在多线程中,存储和维护一些线程相关的数据,存储的数据会被关联到当前线程中去,并不需要锁来维护。。

[转]:内置变量与原生shell脚本运行

2016-07-19
阅读 1 分钟
3.2k
xmake在xmake.lua中提供了 $(varname) 的语法,来支持内置变量的获取,例如: {代码...} 它将会在在实际编译的时候,将内置的 buildir 变量转换为实际的构建输出目录:-I./build 并且这些变量在自定义脚本中,也是可以支持的,例如: {代码...} 这将会在编译完后,输出: {代码...} 这些内置变量,大部分都是通过配置的...

[转]:多进程等待的跨平台实现

2016-07-18
阅读 10 分钟
3.8k
如果所有编译进程都在处理编译,没有退出的时候,xmake的lua主进程会不断地在这些任务间,不停的切换轮询进程的状态,但是有没有机会执行其他任务,导致cpu过高,抢占了编译进程的cpu时间。。

[转]:xmake v2.0.3 版本更新

2016-07-17
阅读 1 分钟
2.3k
更新内容 新特性 增加头文件依赖自动检测和增量编译,提高编译速度 在终端中进行颜色高亮提示 添加调试器支持,xmake run -d program ... 改进 增强运行shell的系列接口 更新luajit到v2.0.4版本 改进makefile生成插件,移除对xmake的依赖,并且支持windows/linux/macosx等大部分pc平台 优化多任务编译速度,在windows下...

[转]:插件使用之加载自定义lua脚本

2016-07-07
阅读 1 分钟
4.8k
xmake里面的lua脚本加载插件,可以让你方便调试和编写一些自定义的lua脚本,这个时候xmake就是一个纯lua的加载引擎。。 例如,我想写个简单的hello xmake!的lua脚本,可以自己建个 hello.lua 文件,编写如下脚本: {代码...} main是入口函数,就跟平常写c类似,然后加载执行下这个lua脚本就行了: {代码...} 下面在来个...

[转]:基于lua的跨平台构建工具:xmake v2.0.2 发布!

2016-07-06
阅读 4 分钟
3.7k
更新内容 此版本主要修复一些bug和兼容性问题。。 改进 修改安装和卸载的action处理 更新工程模板 增强函数检测 Bugs修复 #7: 修复用模板创建工程后,target名不对问题:'[targetname]' #9: 修复clang不支持c++11的问题 修复api作用域泄露问题 修复在windows上的一些路径问题 修复检测宏函数失败问题 修复检测工具链失败...

[转]:TBOX中的线程池设计和实现

2016-01-18
阅读 3 分钟
2.9k
由于每个task的函数实现不会太多,所以可以根据每个task的函数地址做hash,统计出每个task执行所花费的平均时间。然后根据这个平均值来动态计算每个worker一次拉取的task的数量,TBOX里面默认每个worker一次拉取10s的task量,这样可以尽可能的避免worker间锁的频繁抢占。

[转]:静态库和动态库的编译切换

2016-01-09
阅读 2 分钟
3.7k
如果你想在同一个target上既编译静态库,又能编译动态库,那么稍微修改下 xmale.lua就行了: {代码...} 好了,现在默认编译的时候,会生成静态库:libtest.a 如果你想生成动态库,只需要执行: {代码...} 配置成动态库模式,重建下就行了。。参数:-k/--kind 可以手动在配置的时候指定,需要编译的target类型,实际会去...