XMake 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
XMake 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 Apache License 2.0
操作系统 跨平台
软件类型 开源软件
所属分类 开发工具项目构建
开发厂商
地区 国产
提 交 者 ruki
适用人群 未知
收录时间 2015-07-16

软件简介

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

虽然,简单易用是 xmake 的一大特色,但 xmake 的功能也是非常强大的,既能够像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,还有内置的包管理系统来帮助用户解决 C/C++依赖库的集成使用问题。

目前,xmake主要用于C/C++项目的构建,但是同时也支持其他native语言的构建,可以实现跟C/C++进行混合编译,同时编译速度也是非常的快,可以跟Ninja持平。

如果你想要了解更多,请参考:在线文档Github以及Gitee

课程

xmake 官方也推出了一些入门课程,带你一步步快速上手 xmake,课程列表如下:

安装

使用curl

bash <(curl -fsSL https://xmake.io/shget.text)

使用wget

bash <(wget https://xmake.io/shget.text -O -)

使用powershell

Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content

简单的工程描述

包依赖描述

官方的xmake包管理仓库: xmake-repo

构建工程

$ xmake

运行目标

$ xmake run console

调试程序

$ xmake run -d console

配置平台

$ xmake f -p [windows|linux|macosx|android|iphoneos ..] -a [x86|arm64 ..] -m [debug|release]
$ xmake

图形化菜单配置

$ xmake f --menu

跟ninja一样快的构建速度

测试工程: xmake-core

多任务并行编译测试

构建系统 Termux (8core/-j12) 构建系统 MacOS (8core/-j12)
xmake 24.890s xmake 12.264s
ninja 25.682s ninja 11.327s
cmake(gen+make) 5.416s+28.473s cmake(gen+make) 1.203s+14.030s
cmake(gen+ninja) 4.458s+24.842s cmake(gen+ninja) 0.988s+11.644s

单任务编译测试

构建系统 Termux (-j1) 构建系统 MacOS (-j1)
xmake 1m57.707s xmake 39.937s
ninja 1m52.845s ninja 38.995s
cmake(gen+make) 5.416s+2m10.539s cmake(gen+make) 1.203s+41.737s
cmake(gen+ninja) 4.458s+1m54.868s cmake(gen+ninja) 0.988s+38.022s

包依赖管理

下载和编译

架构和流程

支持的包管理仓库

  • 官方自建仓库 xmake-repo (tbox >1.6.1)
  • 官方包管理器 Xrepo
  • 用户自建仓库
  • Conan (conan::openssl/1.1.1g)
  • Vcpkg (vcpkg:ffmpeg)
  • Homebrew/Linuxbrew (brew::pcre2/libpcre2-8)
  • Pacman on archlinux/msys2 (pacman::libcurl)
  • Clib (clib::clibs/bytes@0.0.4)
  • Dub (dub::log 0.4.3)

支持平台

  • Windows (x86, x64)
  • macOS (i386, x86_64, arm64)
  • Linux (i386, x86_64, cross-toolchains ..)
  • *BSD (i386, x86_64)
  • Android (x86, x86_64, armeabi, armeabi-v7a, arm64-v8a)
  • iOS (armv7, armv7s, arm64, i386, x86_64)
  • WatchOS (armv7k, i386)
  • MSYS (i386, x86_64)
  • MinGW (i386, x86_64, arm, arm64)
  • Cygwin (i386, x86_64)
  • Wasm (wasm32)
  • Cross (cross-toolchains ..)

支持工具链

$ xmake show -l toolchains
xcode         Xcode IDE
vs            VisualStudio IDE
yasm          The Yasm Modular Assembler
clang         A C language family frontend for LLVM
go            Go Programming Language Compiler
dlang         D Programming Language Compiler
gfortran      GNU Fortran Programming Language Compiler
zig           Zig Programming Language Compiler
sdcc          Small Device C Compiler
cuda          CUDA Toolkit
ndk           Android NDK
rust          Rust Programming Language Compiler
llvm          A collection of modular and reusable compiler and toolchain technologies
cross         Common cross compilation toolchain
nasm          NASM Assembler
gcc           GNU Compiler Collection
mingw         Minimalist GNU for Windows
gnu-rm        GNU Arm Embedded Toolchain
envs          Environment variables toolchain
fasm          Flat Assembler
tinyc         Tiny C Compiler
emcc          A toolchain for compiling to asm.js and WebAssembly
icc           Intel C/C++ Compiler
ifort         Intel Fortran Compiler
musl          The musl-based cross-compilation toolchains

支持语言

  • C/C++
  • Objc/Objc++
  • Swift
  • Assembly
  • Golang
  • Rust
  • Dlang
  • Fortran
  • Cuda
  • Zig (Experimental)

支持特性

  • 简洁的配置语法
  • 直接构建支持,不依赖任何第三方后端 make 工具
  • 跨平台支持,不同平台可方便快速地切换
  • 交叉编译支持,智能分析交叉工具链信息
  • 多任务并行编译支持
  • C++20 Module-TS 支持
  • 支持跨平台的 C/C++ 依赖包快速集成
  • 自建分布式包仓库,第三方包仓库支持
  • 多语言混合编译支持
  • 灵活的 lua 脚本,丰富的扩展模块,可实现高度定制化
  • 丰富的插件支持,内置 vs/cmake/makefile/compile_commands 等生成插件
  • REPL 交互式执行支持
  • 增量编译支持,头文件依赖自动分析
  • 工具链的快速切换、定制化支持

工程类型

  • 静态库程序
  • 动态库类型
  • 控制台程序
  • Cuda程序
  • Qt应用程序
  • WDK驱动程序
  • WinSDK应用程序
  • MFC应用程序
  • iOS/MacOS应用程序
  • Framework和Bundle程序(iOS/MacOS)

更多例子

Debug 和 Release模式

add_rules("mode.debug", "mode.release")

target("console")
    set_kind("binary")
    add_files("src/*.c")
    if is_mode("debug") then
        add_defines("DEBUG")
    end

自定义脚本

target("test")
    set_kind("binary")
    add_files("src/*.c")
    after_build(function (target)
        print("hello: %s", target:name())
        os.exec("echo %s", target:targetfile())
    end)

依赖包自动集成

下载和使用在 xmake-repo 和第三方包仓库的依赖包:

add_requires("tbox >1.6.1", "libuv master", "vcpkg::ffmpeg", "brew::pcre2/libpcre2-8")
add_requires("conan::openssl/1.1.1g", {alias = "openssl", optional = true, debug = true})
target("test")
    set_kind("binary")
    add_files("src/*.c")
    add_packages("tbox", "libuv", "vcpkg::ffmpeg", "brew::pcre2/libpcre2-8", "openssl")

另外,我们也可以使用 xrepo 命令来快速安装依赖包。

Qt QuickApp 应用程序

target("test")
    add_rules("qt.quickapp")
    add_files("src/*.cpp")
    add_files("src/qml.qrc")

Cuda 程序

target("test")
    set_kind("binary")
    add_files("src/*.cu")
    add_cugencodes("native")
    add_cugencodes("compute_35")

WDK/UMDF 驱动程序

target("echo")
    add_rules("wdk.driver", "wdk.env.umdf")
    add_files("driver/*.c")
    add_files("driver/*.inx")
    add_includedirs("exe")

target("app")
    add_rules("wdk.binary", "wdk.env.umdf")
    add_files("exe/*.cpp")

更多WDK驱动程序例子(umdf/kmdf/wdm),见:WDK工程例子

iOS/MacOS 应用程序

target("test")
    add_rules("xcode.application")
    add_files("src/*.m", "src/**.storyboard", "src/*.xcassets")
    add_files("src/Info.plist")

Framework 和 Bundle 程序(iOS/MacOS)

target("test")
    add_rules("xcode.framework") -- 或者 xcode.bundle
    add_files("src/*.m")
    add_files("src/Info.plist")

OpenMP 程序

add_requires("libomp", {optional = true})
target("loop")
    set_kind("binary")
    add_files("src/*.cpp")
    add_rules("c++.openmp")
    add_packages("libomp")

插件

生成IDE工程文件插件(makefile, vs2002 - vs2019, ...)

$ xmake project -k vsxmake -m "debug;release" # 新版vs工程生成插件(推荐)
$ xmake project -k vs -m "debug;release"
$ xmake project -k cmake
$ xmake project -k ninja
$ xmake project -k compile_commands

加载自定义lua脚本插件

$ xmake l ./test.lua
$ xmake l -c "print('hello xmake!')"
$ xmake l lib.detect.find_tool gcc
$ xmake l
> print("hello xmake!")
> {1, 2, 3}
< {
    1,
    2,
    3
  }

更多内置插件见相关文档:内置插件文档

其他扩展插件,请到插件仓库进行下载安装: xmake-plugins.

IDE和编辑器插件

XMake Gradle插件 (JNI)

我们也可以在Gradle中使用xmake-gradle插件来集成编译JNI库

plugins {
  id 'org.tboox.gradle-xmake-plugin' version '1.0.6'
}

android {
    externalNativeBuild {
        xmake {
            path "jni/xmake.lua"
        }
    }
}

gradle-xmake-plugin插件被应用生效后,xmakeBuild任务会自动注入到现有的assemble任务中去,自动执行jni库编译和集成。

$ ./gradlew app:assembleDebug
> Task :nativelib:xmakeConfigureForArm64
> Task :nativelib:xmakeBuildForArm64
>> xmake build
[ 50%]: ccache compiling.debug nativelib.cc
[ 75%]: linking.debug libnativelib.so
[100%]: build ok!
>> install artifacts to /Users/ruki/projects/personal/xmake-gradle/nativelib/libs/arm64-v8a
> Task :nativelib:xmakeConfigureForArmv7
> Task :nativelib:xmakeBuildForArmv7
>> xmake build
[ 50%]: ccache compiling.debug nativelib.cc
[ 75%]: linking.debug libnativelib.so
[100%]: build ok!
>> install artifacts to /Users/ruki/projects/personal/xmake-gradle/nativelib/libs/armeabi-v7a
> Task :nativelib:preBuild
> Task :nativelib:assemble
> Task :app:assembleDebug
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (9)

加载中
New Bee 的东西, 支持~
11/12 11:47
回复
举报
ruki软件作者
#XMake# 1024 限量纪念款
10/26 19:14
回复
举报
ruki软件作者
msys/pacman和termux/pkg 官方仓库都已成功收录 #XMake#
02/29 14:05
回复
举报
ruki软件作者
#2019年终总结# 这一年还是有不少收货的,#XMake# 完成了远程依赖包管理,日活用户也比去年多了10倍,虽然还是少的可怜,明年继续,哈~
2019/12/31 19:21
回复
举报
ruki软件作者
2020 #XMake# 将带来远程编译,分布式编译以及更多有趣的特性 。。。
2019/12/31 19:11
回复
举报
打分: 力荐
很棒的工具
2018/11/15 10:48
回复
举报
打分: 力荐
很好用,赞!放弃b2转投xmake
2018/09/18 22:56
回复
举报
ruki软件作者
#XMake# 新增WDK驱动编译环境支持,http://tboox.org/cn/2018/06/14/support-wdk/
2018/06/15 23:38
回复
举报
打分: 力荐
您好,如何扩展xmake,使它可以支持别的语言,例如:Ada;使它支持别的平台,比如 VxWorks PowerPC,自己指定编译器?
2018/05/12 06:55
回复
举报
ruki软件作者
#XMake# 还差3 star 谁帮忙补下。。:)
2018/01/30 13:28
回复
举报
更多评论
发表于开发技能专区
10/19 10:05

LTUI v2.2 发布,一个基于 Lua 的跨平台字符终端 UI 界面库

LTUI是一个基于lua的跨平台字符终端UI界面库。 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。 另外,LTUI是完全跨平台的,windows上的...

3
13
发表于开发技能专区
10/18 08:54

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

xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。 在这个新版本中,我们对 Intel 系列的 C++ 和 Fortran 编译器做了全平台支持,并且改进了上个...

4
5
发表于服务端专区
09/15 09:20

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

xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。 随着 xmake 最近几年不断的迭代发展,xmake 已经在 Github 收获 2.9K star,300+ fork,30+...

3
2
发表于DevOps专区
07/29 09:28

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

这个版本重点对其他语言的支持做了一些改进,比如新增了fortran的编译支持,zig语言的实验性支持,另外对golang/dlang增加了第三方依赖包支持以及交叉编译支持。 虽然,xmake重点关注c/c++的构建支持,但是其他语言的支持xmake也会不定期做一些改进,其主要目的并不是替代它们官方自身的构建系统,仅仅只是为了支持与c/c...

1
0
发表于运维专区
06/29 09:44

xmake v2.3.5 发布, 多工具链灵活切换支持

这个版本主要工作还是继续改进对工具链的支持,上个版本虽然通过重构实现了模块化的工具链扩展,但是对于一次编译想要灵活地在交叉工具链/Host工具链上切换编译,还不能很好的支持,因此这个版本重点改进了这块的支持力度。 另外,此版本还对使用add_requires集成的远程依赖包下载慢的问题做了改进,增加了代理设置、本地...

0
2
发表于DevOps专区
06/08 09:51

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

为了让xmake更好得支持交叉编译,这个版本我重构了整个工具链,使得工具链的切换更加的方便快捷,并且现在用户可以很方便地在xmake.lua中扩展自己的工具链。 关于平台的支持上,我们新增了对*BSD系统的支持,另外,此版本还新增了一个ninja主题风格,实现类似ninja的编译进度显示,例如: 项目源码 官方文档 新特性介绍 ...

6
6
发表于软件架构专区
04/28 09:03

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

xmake是一个基于lua的现代化c/c++构建工具。 这个版本主要是对内置的构建规则做了些扩展,新增了相关规则来实现对iOS/MacOS相关App应用程序项目、Framework和Bundle程序的构建支持。 并且支持App签名,也提供了相关工程模板来快速创建应用程序,另外此版本还对Qt的开发构建也做了不少改进,增加对Qt5.14.0新版本sdk的支持...

5
4
发表于AI & 大数据专区
03/29 10:38

xmake v2.3.2 发布, 带来和 ninja 一样快的构建速度

这个版本重点重构优化了下内部并行构建机制,实现多个 target 间源文件的并行编译,以及并行 link 的支持,同时优化了 xmake 的一些内部损耗,修复影响编译速度的一些 bug 。 通过测试对比,目前的整体构建速度基本跟 ninja 持平,相比 cmake/make, meson/ninja 都快了不少,因为它们还额外多了一步生成 makefile/build...

3
10
发表于AI & 大数据专区
02/24 09:47

xmake v2.3.1 发布,无缝对接其他构建系统

xmake是一个基于Lua的轻量级现代化C/C++跨平台构建系统,理念是:简单,高效,跨平台。 最近对xmake内部做了不少的重构来改进,并且新增了不少实用的新特性,欢迎来体验。 项目源码 官方文档 一些新特性: 一键编译其他构建系统维护的项目,实现无缝对接,并且支持交叉编译(比如autotools的快速交叉编译,见下文详述) ...

10
6
发表于运维专区
2019/12/23 07:36

xmake v2.2.9 发布,新增 C++20 modules 的实验性支持

这个版本没啥太大新特性,主要对c++20 modules进行了实验性支持,目前支持clang/msvc编译器,除此之外改进了不少使用体验,并且提高了一些稳定性。 另外,这个版本新增了socket.io支持以及对应协程io的调度支持,为下个版本的远程编译,以及后续的分布式编译做准备。 项目源码 官方文档 新特性介绍 c++20 modules c++ mo...

13
4
发表于软件架构专区
2019/08/27 08:51

xmake v2.2.8 发布, 新版vs工程生成插件

这个版本提供了全新的vs工程生成插件(非常感谢@OpportunityLiu的贡献),跟之前的生成vs的插件处理模式上有很大的不同,原先生成的vs工程是把所有源文件展开后,转交给vs来处理编译。 此外,我们重写了整个luajit的io runtime,使其更好的支持unicode字符集,尤其是windows上对中文字符的支持。 最后新版本开始尝试直接...

7
0
发表于运维专区
2019/06/20 09:05

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

这个版本主要对Cuda项目的构建做了很多的改进,并且新增了对lex/yacc编译支持,同时也对target新增了on_link, before_link和after_link等链接阶段的定制化支持。 这里,我还要感谢下@OpportunityLiu对xmake的支持,这个版本中OpportunityLiu贡献了大量的代码去改进Cuda的支持。 此外,他还帮忙改进了xmake的整个单元测试...

2
2
发表于软件架构专区
2019/06/03 08:26

xmake v2.2.6 发布, Qt/Android编译支持

这个版本主要对远程依赖包的支持进一步完善,并且新增了对clib包依赖的支持,另外现在xmake已经能够直接编译Qt/Android项目,并且可以直接生成apk包,以及安装到设备支持。 此版本还对xmake的启动性能做了优化,解决了windows启动慢的问题,提速98%,整体编译速度也加快了不少。 项目源码 官方文档 最近正好写了篇与cma...

3
5
发表于DevOps专区
2019/04/02 08:53

xmake v2.2.5,更加完善的 C/C++ 包依赖管理

此版本耗时四个多月,对包依赖管理进行了重构改进,官方仓库新增了mysql,ffmpeg等常用依赖包,并且新增了大量新特性。 目前内置的包管理已经支持的非常完善了,我们可以通过 add_requires("libuv master", "ffmpeg", "zlib 1.20.*")` 方便的安装使用依赖包,但是官方的包仓库xmake-repo目前收录的包还非常少,因此为...

7
13
发表于软件架构专区
2018/11/30 10:00

xmake v2.2.3 发布, 大量新特性支持

此版本主要是对远程依赖包管理进行了一些改进,并且新增了很多小特性,并且此版本已经可以支持通过xmake update来自我更新升级了,以后升级xmake将会更加方便。 关于新特性的详细说明见文章下文。 项目源码 官方文档 更新内容 新特性 #233: 对mingw平台增加windres的支持 #239: 添加cparser编译器支持 添加插件管理器,x...

3
2
发表于运维专区
2018/10/17 08:56

xmake v2.2.2 发布, 让C/C++拥有包依赖自动构建

历经四个多月,xmake终于更新了新版本v2.2.2,并且上线了重量级功能:原生支持的远程依赖包管理。 而这个特性,其实我陆陆续续写了将近一年的时间,才初步完成,对于此特性的开发进展和历史,有兴趣的同学可以看下相关issues:#69。 项目源码 官方文档 目前的实现效果如下,完全一致的语义版本依赖描述: 完全一致的跨平...

11
13
发表于运维专区
2018/06/18 07:52

xmake 2.2.1 发布,Qt、WDK 和 Cuda 编译环境支持

xmake 2.2.1 已发布,该版本主要对自定义规则 rule ,进行了大规模升级。 现在用户可以通过自定义规则,来实现各种编译规则,并且 xmake 也内置了一些常用的编译规则,可以直接应用到当前工程,去实现对 Qt、WDK 驱动和 Cuda 编译环境的支持。 新特性 #158: 增加对Cuda编译环境的支持 添加set_tools和add_tools接口为指定...

3
4
发表于开发技能专区
2018/02/05 07:41

xmake v2.1.9 发布,增加可视化图形菜单配置

xmake v2.1.9 发布了。此版本主要改进提供用户自定义菜单配。 此版本主要增加xmake f --menu实现用户自定义图形菜单配置,界面风格类似linux的make menuconfig: 新特性 添加del_files()接口去从已添加的文件列表中移除一些文件 添加rule(), add_rules()接口实现自定义构建规则,并且改进add_files("src/*.md", {rule =...

0
4
发表了资讯
2017/11/09 09:25

xmake v2.1.8发布,改进对 IDE 和编辑器插件的支持

xmake v2.1.8 发布了。此版本主要改进对IDE和编辑器插件的支持,目前xmake提供以下编辑器和IDE插件: Vim 编辑器插件 xmake.vim (第三方插件,感谢@luzhlon提供) Visual Studio Code 编辑器插件 (xmake-vscode) Sublime Text 编辑器插件 (xmake-sublime) IntelliJ 系列IDE插件 (xmake-idea) IntelliJ-IDEA CLion Android...

0
5
发表了资讯
2017/10/16 09:55

XMake v2.1.7 版本发布,稳定性修复和细节改进

此版本主要修复一些稳定性问题,并且对一些细节进行改进优化,并且提供xmake-vscode插件深度集成vscode编辑器环境。 更多使用说明,请阅读:文档手册。 项目源码:Github, Gitee. 新特性 添加add_imports去为target,option和package的自定义脚本批量导入模块,简化自定义脚本 添加xmake -y/--yes去确认用户输入 添加xma...

4
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于AI & 大数据专区
2016/08/30 10:10

xmake v2.0.4 发布!

新特性 在xmake.lua中添加原生shell支持,例如:add_ldflags("$(shell pkg-config --libs sqlite3)") 编译windows目标程序,默认默认启用pdb符号文件 在windows上添加调试器支持(vsjitdebugger, ollydbg, windb......

0
0
发表于AI & 大数据专区
04/17 12:14

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

xmake-gradle是一个无缝整合 xmake 的 gradle 插件。 目前在 gradle 中做 android jni 相关集成开发,有两种方式,通过 ndkBuild 或者 CMake 来支持,gradle 也内置了这两工具的集成 但是维护 Android.mk 还是非常...

0
0
发表于AI & 大数据专区
2017/10/12 13:18

xmake-vscode插件开发过程记录

最近打算给xmake写一些IDE和编辑器的集成插件,发现vscode的编辑器插件比较容易上手的,就先研究了下vscode的插件开发流程,并且完成了xmake-vscode插件的开发。 我们先来看几张最后的效果图: 语法高亮和自动补全...

0
0
发表了博客
2019/09/22 21:19

使用xmake构建c++20 modules

c++ modules已经正式纳入了c++20草案,msvc和clang也已经基本实现了对modules-ts的支持,随着c++20的脚步离我们越来越近,xmake也开始对c++modules提前做好了支持。 目前xmake已经完全支持了msvc/clang的modules...

0
0
发表于软件架构专区
2019/09/22 12:02

使用xmake构建c++20 modules

c++ modules已经正式纳入了c++20草案,msvc和clang也已经基本实现了对modules-ts的支持,随着c++20的脚步离我们越来越近,xmake也开始对c++modules提前做好了支持。 目前xmake已经完全支持了msvc/clang的modules...

0
0
发表于服务端专区
2018/06/08 10:31

xmake进阶之简化你的构建描述

xmake的初衷就是为了让用户能够用最简单直接的方式去描述工程,提供跨平台项目构建,因此,简洁,灵活 是xmake.lua的核心设计思想。 通过之前的那篇文章:xmake入门,构建项目原来可以如此简单,我们对如何使用xma...

0
0
发表于运维专区
2017/04/06 10:20

使用xmake优雅地描述工程

描述语法 xmake的描述语法基于lua实现,因此描述语法继承了lua的灵活性和简洁性,并且通过28原则,将描述作用域(简单描述)、脚本作用域(复杂描述)进行分离,使得工程更加的简洁直观,可读性非常好。 因为80%...

0
0
发表于服务端专区
2019/11/09 23:35

xmake从入门到精通1:安装和更新

xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。 本文主要详细讲解xmake在各个平台下的安装过程。 项目源码 官方文...

0
0
发表于服务端专区
10/09 11:32

xmake 官方入门课程上线: Xmake 带你轻松构建 C/C++ 项目

实验楼课程 Xmake 带你轻松构建 C/C++ 项目 是我们在实验楼上推出的一门 xmake 入门和进阶课程(收费),以边学边做实验的方式快速学习 xmake 的使用。 通过此处优惠码购买可享 9 折优惠:NYFbmf3X xmake介绍 Xm...

0
0
发表于AI & 大数据专区
2017/07/30 19:28

xmake v2.1.5版本新特性介绍

2.1.5版本现已进入收尾阶段,此版本加入了一大波新特性,目前正在进行稳定性测试和修复,在这里,先来介绍下新版本中引入了哪些些新特性和改进。 1. 提供类似cmake的find_*系列接口,实现各种查找,例如:find_pa...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于开发技能专区
2019/10/26 12:25

xmake update 不工作

我使用mac执行以下操作: 1. brew install xmake (安装成功,显示安装了2.2.5) 2.xmake update (更新成功,显示更新到2.2.8) Jamess-MacBook-Pro:~ jamesmei$ xmake update update version: v2.2.8 .. => download https://gitee.com/tboox/xmake.git .. ok => install to ~/.local/bin .. ok xmake v2.2.5.2019040206...

1
0
发表了问答
2016/01/01 16:29

如何将自己的开源软件提交到ubuntu等各大国外源中收录

自己有几个工具类的开源项目,想提交到 ubuntu等国外的官方源中去,这样以后提供给别人下载安装也方便了。。 但是不知道这个申请流程是怎样的,还是需要满足什么条件才行? 有谁的软件被ubuntu源收录过哈,能否给点建议。。谢谢 本人的项目地址: 用于跨平台构建的,类似cmake的一个工具 https://github.com/waruqi/xmak...

1
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
9 评论
275 收藏
分享
返回顶部
顶部