首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

xmake-gradle 首发, 集成xmake快速构建Android JNI程序

xmake-gradle是一个无缝整合 xmake 的 gradle 插件。...而之前想要用 xmake 编译 android so 库,只能通过命令行的方式比如: xmake f -p android --ndk=xxxx xmake 虽然已经很简单了,但是如果要跟 android...欢迎大家来试试哦,新鲜出炉的插件,如果你想要了解更多,请参考:中 项目源码 官方文档 准备工作 我们需要先安装好对应的xmake命令行工具,关于安装说明见:xmake。...配置 最简单的配置示例 如果我们添加xmake.lua文件到projectdir/jni/xmake.lua,那么我们只需要在build.gradle中启用生效了xmake指定下对应的JNI工程路径即可...build.gradle android { externalNativeBuild { xmake { path "jni/xmake.lua"

97020
您找到你想要的搜索结果了吗?
是的
没有找到

Xmake 和 CC++ 包管理

Xmake 是一个基于 Lua 的轻量级跨平台构建工具,关于 Xmake 与构建系统的介绍,我们已经在之前的文章中做了详细的介绍:C/C++ 构建系统,我用 xmake。...如果大家已经对 Xmake 已经有了大概的了解,就会知道,它不仅仅是一个构建工具,还内置了对 C/C++ 包管理的支持,我们也可以把 Xmake 理解为: Xmake = Build backend +...在 Xmake 中使用依赖包 Xmake 不仅提供了内置的 xmake-repo 内置的包管理仓库,可以直接集成使用里面的包,还支持以相同的集成方式,去快速集成 vcpkg/conan 等第三方的依赖包...Xmake 内置包管理集成 除了接入第三方包管理,我们也更推荐优先使用集成 xmake-repo 内置仓库中提供的包,Xmake 会提供更多特性支持。...也就是说,Xmake 不会强制用户将所有的项目重新 port 到 xmake.lua,现有的 CMake 项目,一样可以快速集成到 Xmake 项目中去。

2.8K10

使用xmake构建c++20 modules

关于xmake对c++modules的相关进展见:https://github.com/xmake-io/xmake/pull/569 项目源码 官方文档 Hello Module 关于c++modules...; return 0; } 接下来我们执行xmake来构建下这个程序吧: ruki:hello ruki$ xmake [ 0%]: ccache compiling.release src..., 因此这里参考了build2里面的推荐方式,采用统一的*.mpp后缀,来规范xmake下模块项目接口的命令。...当然,这也支持xmake推荐命名方式,而对于*.ixx, *.cppm等后缀名,xmake也是完全兼容支持的,也可以直接添加到add_files中去。...编译参数处理 clang 我们先来看下clang下,是如何处理modules构建的,我们只需要加上-v来执行xmake构建,就能看到所有的细节参数: ruki:hello ruki$ xmake -v

1.6K40

xmake vs cmake对比分析

因此,xmake的语法描述和使用体验还是非常好的,这也是xmake最大的亮点之一,我在这块设计上做了很多改进,为了降低学习和项目维护门槛,也更容易快速上手。...构建方式 编译默认平台 xmake 通常情况,编译默认平台执行敲xmake,执行构建期间,xmake不会依赖其他第三方构建工具,连make也不依赖,也不会生成IDE/Makefile文件, 而是直接调用的编译工具链进行编译...编译指定平台 xmake xmake可以以近乎一致的方式快速切换不同平台和架构来编译。...xmake install cmake cmake -P cmake_install.cmake 运行目标 xmake 大部分情况下,xmake不需要写自定义脚本就可以直接加载运行编译生成的目标程序...xmake会自动调用conan工具去下载安装openssl库,然后集成使用,只需要执行xmake命令即可完成编译。

1.7K20

CC++ 构建系统,我用 xmake

XMake 是什么 XMake 是一个基于 Lua 的 现代化 C/C++ 构建系统。 它的语法简洁易上手,对新手友好,即使完全不会 lua 也能够快速入门,并且完全无任何依赖,轻量,跨平台。...为什么要做 XMake 每当在 Reddit 社区跟别人讨论起 XMake,大家总是会拿下面这张图来吐槽。 ?...尽管有些无奈,也被吐槽的有些麻木了,不过我还是想说明下,做 XMake 的初衷,并不是为了分裂 C/C++ 生态,相反,XMake 尽可能地复用了现有生态。...XMake 的特性和优势 经常有人问我 XMake 有什么特别之处,相比现有 CMake、Meson 此类构建工具有什么优势,我为什么要使用 XMake 而不是 CMake?...尽管 XMake 是基于 lua,但是借助于 lua 胶水语言的轻量级特性,xmake 已将其完全内置,因此安装完 XMake 等同于拥有了一个完整的 lua vm。

2K20

xmake v2.3.4 发布, 更加完善的工具链支持

为了让xmake更好得支持交叉编译,这个版本我重构了整个工具链,使得工具链的切换更加的方便快捷,并且现在用户可以很方便地在xmake.lua中扩展自己的工具链。...那xmake还支持哪些内置工具链呢?...工具集整体切过去,那如何重新切回gcc呢,也很方便: 或者 $ xmake f --toolchain=gcc $ xmake 自定义工具链 另外,我们现在也可以在xmake.lua中自定义toolchain...xmake默认会从xmake f --sdk=xx的sdk参数中去探测工具,当然我们也可以在xmake.lua中对每个自定义工具链调用set_sdk("/xxx/llvm")来写死工具链sdk地址。...显示指定信息和列表 显示xmake自身和当前项目的基础信息 $ xmake show The information of xmake: version: 2.3.3+202006011009

1.3K20

xmake v2.3.6 发布, 新增fortran编译支持

虽然,xmake重点关注c/c++的构建支持,但是其他语言的支持xmake也会不定期做一些改进,其主要目的并不是替代它们官方自身的构建系统,仅仅只是为了支持与c/c++的混合编译,更好的为c/c++项目服务..., 毕竟有些c/c++项目中,还是会偶尔调用其他语言的代码接口,比如与cuda, dlang, objc,swift, asm等语言的混合调用,所以xmake还是会对他们做一些基础性的编译支持。...create -l fortran -t console test 它的xmake.lua内容如下: add_rules("mode.debug", "mode.release") target(..., 我们也可以通过cmake变相支持它,xmake会自动内部调用cmake中转下生成结果,对用户而言使用上没啥区别,只需要确保cmake已经安装即可: $ xmake project -k xcode...xmake-vscode插件intellisense支持 近期,我们也更新了下xmake-vscode插件,通过自动生成compile_commands.json到当前项目的.vscode目录下,然后我们只需要配置

91230

xmake v2.2.7 发布, 改进Cuda项目构建

此外,他还帮忙改进了xmake的整个单元测试框架,自更新程序,命令行tab补全以及ci脚本,使得xmake的更新迭代更加高效和稳定。...而xmake除了支持调用nvcc来编译cuda项目,也可以直接切到clang来编译,例如: xmake f --cu=clang xmake 不过关于devlink,似乎还是需要依赖nvcc,clang...可配置切换nvcc使用的c++编译器 xmake新增了--ccbin=参数可以配置切换,nvcc默认使用的c++编译器和链接器,用法如下: xmake f --ccbin=clang++ xmake...更加方便的自更新命令 之前的版本,xmake已经提供了方便的自更新命令xmake update来更新xmake自身版本,甚至是更新指定分支版本,例如:xmake update dev/master 但是...update github:xmake-io/xmake#dev #438: 支持仅更新脚本,xmake update --scriptonly dev #433: 改进cuda构建支持device-link

57720

Xmake v2.8.1 发布,大量细节特性改进

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。...它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。...目前,Xmake 主要用于 C/C++ 项目的构建,但是同时也支持其他 native 语言的构建,可以实现跟 C/C++ 进行混合编译,同时编译速度也是非常的快,可以跟 Ninja 持平。...,但我们还是可以把 Xmake 按下面的方式来理解: Xmake ≈ Make/Ninja + CMake/Meson + Vcpkg/Conan + distcc + ccache/sccache...更新 lua 运行时 最近 Lua 已经发布了 5.4.6 版本,我们对 xmake 中内置的 Lua 运行时也做了升级,跟上游保持同步。

17720

一个使用 xmake 构建 cc++ 模块的 luarocks 插件

这里,我实现了一个基于 xmake 构建系统来构建 lua c/c++ 模块的 luarocks 插件 luarocks-build-xmake,来实现更加灵活方便的 lua 模块维护。...相比 luarocks 内建的构建系统,它提供了更加强大的构建配置,支持 c/c++ 依赖管理,相比 cmake 它不需要用户手动安装 xmake,此插件会自动安装 xmake 后,直接编译 lua 模块...luarocks-build-xmake xmake 例子1 (带有 xmake.lua) 如果模块工程中使用了 xmake.lua 来维护构建,那么我们可以直接使用 xmake 去构建它,rockspec..." } build = { type = "xmake", copy_directories = {} } 例子2 (没有 xmake.lua) 如果模块工程中没有使用 xmake.lua...>= 5.1", "luarocks-build-xmake" } build = { type = "xmake", variables = { xmake =

68040

xmake从入门到精通8:切换编译模式

项目源码 官方文档 调试和发布模式 通常,如果我们是通过xmake create命令创建的项目,会在xmake.lua里面自动添加一行编译规则的配置,如下: add_rules("mode.release...如果仅仅执行了xmake命令,没有额外的配置,那么默认就会是release编译,等价于: $ xmake f -m release $ xmake [ 0%]: ccache compiling.release...如果我们要切换到debug编译模式,只需要: $ xmake f -m debug $ xmake [ 0%]: ccache compiling.debug src/main.cpp [100%]:...扩展自己的编译模式 xmake的模式配置,并没有固定值,用户可以随意传入和配置,只要xmake f -m/--mode=xxx传入的模式值和xmake.lua里面的is_mode("xxx")能对应上就行...比如,我们设置了一个自己独有的编译模式my_mode,可以直接在命令行配置切换; $ xmake f -m my_mode $ xmake [ 0%]: ccache compiling.my_mode

57040

简单的 CC++ 项目自动化构建--Xmake

Xmake 简介 https://xmake.io/#/ XMake是一个基于Lua的轻量级跨平台自动构建工具,支持在各种主流平台上构建项目。.../hello 执行完后,将会生成一个简单工程结构:  其中xmake.lua是工程描述文件,内容非常简单,告诉xmake添加src目录下的所有.c源文件: 构建项目 $xmake 运行程序 $xmake...举例,创建一个带qml的quickapp空工程,只需要敲如下命令: $xmake create -t qt.quickapp test xmake会生成带有xmake.lua的Qt项目,xmake.lua...- 简书 TBOOX开源工程 XMake 快速开始_w3cschool xmake xmake v2.2.2, 让C/C++拥有包依赖自动构建_waruqi的博客-CSDN博客 xmake从入门到精通...- 知乎 xmake入门,构建项目原来可以如此简单_waruqi的博客-CSDN博客_xmake

1.3K10

xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持

Winget 安装 winget install xmake Ubuntu PPA 安装 sudo add-apt-repository ppa:xmake-io/xmake sudo apt update...不仅如此,xmake 还对接了 xmake -r 来直接重新编译,对接 xmake clean 实现统一的文件清理,对接 xmake -v 实现统一的详细编译命令的查看。...编译 android 程序: xmake f -p android --trybuild=cmake --ndk=/xxx xmake 编译 ios 程序: xmake f -p iphoneos -...用户不需要关系如果使用 cmake 去传递不同工具链的配置,xmake 都帮你自动处理了,你只需要简单的执行 xmake 来编译,也可以执行 xmake -r 来重编,或者查看编译详情 xmake -v...递归导出安装的包 xmake 之前提供了一个命令,可以导出通过 xmake 安装的所有第三方依赖包。

1.3K10

xmake v2.3.3 发布, 新增iOSMacOS Framework和App构建支持

处理之外,xmake还提供了一个特殊的xmake.cli构建rule,通过集成libxmake engine库,来扩展开发基于xmake引擎的程序,比如:做个定制版的xmake,也可以基于此写点lua脚本程序...xmake版本。...定制化扩展xmake 一个典型的例子就是,我们可以用xmake.cli快速编译构建出xmake自身,并且用户可以在此基础做二次开发,相关例子代码见:myxmake add_rules("mode.debug...("xmake", argc, argv, tb_null, tb_null); } lua脚本程序开发 我们可以利用xmake.cli快速写一些基于lua的xmake engine的命令行小工具,...xmake install 我们也可以直接加载运行: xmake run 虽然跟python/ruby这种完整庞然大物和生态没法比,xmake.cli主要还是对于一些习惯lua语法的用户快速写一些小脚本程序

1.1K10

xmake从入门到精通2:创建和编译工程

本文主要详细讲解如何创建一个基于xmake的工程以及编译操作。...项目源码 官方文档 创建空工程 xmake提供了xmake create命令,可以很方便的快速创建基于c/c++, swift, objc等各种语言的空工程项目,比如: $ xmake create...编译模式切换 而如果我们要切到mode.debug编译,只需要: $ xmake f -m debug $ xmake 其中,xmake f是xmake config命令的简写,用来快速的切换配置,如果上手之后...创建其他模板工程 xmake create还可以用来创建各种其他类型的工程项目,我们可以敲xmake create --help看下: $ xmake create --help Usage: $xmake...不过我们还是可以使用xmake来尝试编译他们: $ xmake create -l rust test create test ... [+]: xmake.lua [+]: src/main.rs

1.7K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券