2017-08-08 ruki
如果我们要写跨平台的c/c++代码,很多时候需要处理由于不同编译器对c/c++各个标准支持力度不同导致的兼容性问题,一般通常的解决办法是:自己在代码中通过宏去判断各个编译器的版本、内置宏、标准库宏、__has_feature等来检测处理。 自己如果在代码中按上述的方式检测,会很繁琐,尤其是像c++这种存在大量语法特性,如果一一检测过来,工作量是非常大的。 通过构建工具预先检测编译特性 另外比较省事的方式,就是依赖构建工具提前做好检测,然后把检测结果作为宏添加到编译中去,这样代码只需要判断对应的特性宏是否存在,就可以进行处理了。 在cmake中就有类似的检测机制,非常强大,因此xmake也对其进行了支持,提供更加灵活强大的编译 继续阅读 »
2017-08-05 ruki
此版本带来了大量新特性更新,具体详见:xmake v2.1.5版本新特性介绍。 更多使用说明,请阅读:文档手册。 项目源码:Github, Gitee. 新特性 #83: 添加 add_csnippet,add_cxxsnippet到option来检测一些编译器特性 #83: 添加用户扩展模块去探测程序,库文件以及其他主机环境 添加find_program, find_file, find_library, find_tool和find_package 等模块接口 添加net.*和devel.*扩展模块 添加val()接口去获取内置变量,例如:val("host"), val("env PATH"), val("shell 继续阅读 »
2017-07-29 ruki
2.1.5版本现已进入收尾阶段,此版本加入了一大波新特性,目前正在进行稳定性测试和修复,在这里,先来介绍下新版本中引入了哪些些新特性和改进。 1. 提供类似cmake的find_*系列接口,实现各种查找,例如:find_package, find_library, find_file, ... 2. 提供模块接口,实现编译器的各种检测,例如:has_features, has_flags, has_cincludes, has_cfuncs, ... 3. 实现大量扩展模块,提供文件下载、解压缩、git操作等接口 4. 支持预编译头文件支持,改进c++编译效率 5. 支持在工程中自定义模块进行扩展 6. 提供代码片段检测接口,实 继续阅读 »