Skip to content

Commit 5c3de81

Browse files
committed
update docs
1 parent 07c9727 commit 5c3de81

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+19
-1079
lines changed

docs/posts/xmake-update-v2.5.1.md

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,6 @@ tags: [xmake, lua, C/C++, toolchains, xrepo, packages, vcpkg, conan, Apple, Sili
44
date: 2021-01-16
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, very friendly to novices, can get started quickly in a short time, allowing users to focus more on the actual project development.
9-
10-
This is the first version of xmake this year and the first version that is fully adapted to support Apple Silicon (macOS ARM) devices.
11-
12-
In this version, we mainly improved the integrated support for C/C++ dependent packages, which is more stable, and can be more flexible to achieve customized configuration compilation.
13-
14-
In addition, we also focused on improving the vs/vsxmake two vs project generator plugins, fixing many details, and also supporting the sub-project `group`, and now it is possible to generate a project structure similar to the following figure.
15-
16-
![](/assets/img/manual/set_group.png)
17-
18-
About Zig, because it has fixed a lot of problems that I have reported before in v0.7.1. Now xmake can already support the compilation of zig projects.
19-
20-
At the same time, we have newly developed a [luarocks-build-xmake](https://github.com/xmake-io/luarocks-build-xmake) plugin to replace luarocks' built-in build system with xmake.
21-
22-
Finally, in this version, we continue to improve the `xmake f --menu` graphical configuration menu, which fully supports mouse operation and scrolling support, and also supports utf8.
23-
24-
* [Github](https://github.com/xmake-io/xmake)
25-
* [Document](https://xmake.io/)
26-
27-
28-
29-
30-
31-
32-
33-
34-
35-
36-
## New feature introduction
37-
387
### Add add_requireconfs to improve package configuration
398

409
Despite the previous version, we can define and configure dependent packages by `add_requires("libpng", {configs = {shared = true}})`.
@@ -468,4 +437,4 @@ We have also improved the llvm toolchain to solve the problem of the lack of isy
468437
* [#1142](https://github.com/xmake-io/xmake/issues/1142): Fix git not found when installing packages
469438
* Fix macos.version bug for macOS Big Sur
470439
* [#1084](https://github.com/xmake-io/xmake/issues/1084): Fix `add_defines()` bug (contain spaces)
471-
* [#1195](https://github.com/xmake-io/xmake/pull/1195): Fix unicode problem for vs and improve find_vstudio/os.exec
440+
* [#1195](https://github.com/xmake-io/xmake/pull/1195): Fix unicode problem for vs and improve find_vstudio/os.exec

docs/posts/xmake-update-v2.5.2.md

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,6 @@ tags: [xmake, lua, C/C++, toolchains, xrepo, packages, cross-toolchains]
44
date: 2021-02-27
55
author: Ruki
66
---
7-
8-
9-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
10-
11-
In version 2.5.2, we added a heavyweight new feature: `Pull remote cross-compilation toolchain automatically`.
12-
13-
Those who have done cross-compilation and have experience in C/C++ project migration should know that it is very troublesome to toss various cross-compilation toolchains
14-
and transplant and compile projects. You need to download the corresponding toolchain yourself.
15-
16-
And it is easy to make mistakes in configuring the toolchain and the compilation environment to cause compilation failure.
17-
18-
Now, xmake can already support the automatic download of the toolchain required by the project, and then use the corresponding toolchain to directly compile the project.
19-
The user does not need to care about how to configure the toolchain. In any case, just execute the `xmake` command to complete the compilation.
20-
21-
![](/assets/img/posts/xmake/muslcc.gif)
22-
23-
Even for the integration of C/C++ dependent packages, you can automatically switch to the corresponding toolchain to compile, install, and integrate.
24-
Everything is fully automated and does not require users to worry about it.
25-
26-
In addition to the cross-compilation toolchain, we can also automatically pull toolchains, such as specific versions of llvm, llvm-mingw, zig
27-
and other toolchains to participate in the compilation of C/C++/Zig projects.
28-
29-
Even cmake does not support the automatic pull of the toolchain. At most, it can only cooperate with third-party package management such as vcpkg/conan to integrate C/C++ dependent packages.
30-
In addition, even for C/C++ dependent packages, xmake has its own native The built-in package management tool has no dependencies at all.
31-
32-
* [Github](https://github.com/xmake-io/xmake)
33-
* [Document](https://xmake.io/)
34-
35-
36-
37-
38-
39-
40-
41-
42-
43-
44-
## New feature introduction
45-
467
### Automatically pull the remote cross-compilation toolchain
478

489
Starting from version 2.5.2, we can pull the specified toolchain to integrate the compilation project, and we also support switching the dependent package to the corresponding remote toolchain to participate in the compilation and integration.
@@ -542,4 +503,4 @@ add_packages("pcre2", {public = true})
542503
### Bugs fixed
543504

544505
* [#1219](https://github.com/xmake-io/xmake/issues/1219): Fix version check and update
545-
* [#1235](https://github.com/xmake-io/xmake/issues/1235): Fix include directories with spaces
506+
* [#1235](https://github.com/xmake-io/xmake/issues/1235): Fix include directories with spaces

docs/posts/xmake-update-v2.5.3.md

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,6 @@ tags: [xmake, lua, C/C++, toolchains, bpf, conda, linux]
44
date: 2021-04-08
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
9-
10-
In version 2.5.3, we have been able to build linux and android bpf programs.
11-
12-
Although bpf has certain requirements for the compilation toolchain, such as the newer llvm/clang and android ndk toolchains, xmake can automatically pull a specific version of llvm/ndk for compilation, and it can also automatically pull libbpf dependencies. Library.
13-
14-
In addition, in the new version we have added support for the integration of C/C++ packages from Conda.
15-
16-
* [Github](https://github.com/xmake-io/xmake)
17-
* [Document](https://xmake.io/)
18-
19-
20-
21-
22-
23-
24-
25-
## New feature introduction
26-
277
### Build a Linux Bpf program
288

299
In the new version, we started to support the compilation of bpf programs, as well as linux and android platforms, and can automatically pull the llvm and android ndk toolchains.

docs/posts/xmake-update-v2.5.4.md

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,6 @@ tags: [xmake, lua, C/C++, apt, portage, shell, package]
44
date: 2021-05-15
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
9-
10-
In version 2.5.4, we added support for Apt and Portage package managers. On Ubuntu/Gentoo, we can also use `add_requires` to quickly integrate the packages they provide.
11-
12-
And we have also improved the support for the Vcpkg package manager, and added support for the installation of arm/arm64 architecture packages.
13-
14-
In addition, we have also enhanced the `xrepo env shell` environment. You can load a shell environment with a specific package configuration by configuring a series of `add_requires` package configurations in `xmake.lua`.
15-
16-
* [Github](https://github.com/xmake-io/xmake)
17-
* [Document](https://xmake.io/)
18-
19-
## New feature introduction
20-
217
### New package manager support
228

239
#### Add dependency package of ubuntu/apt

docs/posts/xmake-update-v2.5.5.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,6 @@ tags: [xmake, lua, C/C++, mirror, package]
44
date: 2021-06-30
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
9-
10-
In version 2.5.5, we continue to improve the experience of remote package integration, realize the pre-compiled package in the cloud, and then directly download the integrated pre-compiled binary package. This can greatly reduce the installation time of some packages that are very slow to compile.
11-
12-
In addition, in the new version, we have also re-implemented the new version of the local package generation scheme, which fully supports `add_requires` and `add_packages` seamlessly. From then on, remote packages and local packages can be maintained in a unified way.
13-
14-
* [Github](https://github.com/xmake-io/xmake)
15-
* [Document](https://xmake.io/)
16-
17-
## New feature introduction
18-
197
### Download and install the pre-compiled package
208

219
Each time you install a package by the built-in package manager of xmake, you must download the corresponding package source code, and then perform local compilation and installation integration. This is for some large packages that compile very slowly, and some packages that rely on a lot of compilation tools. It will be very slow.

docs/posts/xmake-update-v2.5.6.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,6 @@ tags: [xmake, lua, C/C++, mirror, package]
44
date: 2021-07-26
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
9-
10-
This is a stability fix version, which mainly fixes and improves some compatibility issues related to pre-compiled binary packages. In addition, some useful interfaces have been added to set the default compilation platform, architecture and mode, as well as the allowed compilation platform, architecture list, and so on.
11-
12-
* [Github](https://github.com/xmake-io/xmake)
13-
* [Document](https://xmake.io/)
14-
15-
## New feature introduction
16-
177
### Fix windows precompiled package compatibility
188

199
The previous version provided preliminary support for the installation of pre-compiled packages under Windows, but because the compatibility of the toolset version was not considered, if the user's VS version is too low, link problems will occur when the package is integrated.

docs/posts/xmake-update-v2.5.7.md

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,6 @@ tags: [xmake, lua, C/C++, lock, package, vala]
44
date: 2021-08-29
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
9-
10-
In this version, we have added a lot of new features. Not only did we increase the compilation support for Vala and Metal languages, we also improved the package dependency management, which can support the locking and updating of dependent packages like npm/package.lock, so The user's project will not be affected by the update and change of the upstream package repository.
11-
12-
In addition, we also provide some more practical rules. For example, `utils.bin2c` allows users to easily and quickly embed some binary resource files into the code, and obtain relevant data in the form of header files.
13-
14-
* [Github](https://github.com/xmake-io/xmake)
15-
* [Document](https://xmake.io/)
16-
17-
## New feature introduction
18-
197
### Added Vala language support
208

219
In this version, we can already initially support the construction of Vala programs, just apply the `add_rules("vala")` rule.
@@ -45,13 +33,6 @@ More examples: [Vala examples](https://github.com/xmake-io/xmake/tree/master/tes
4533

4634
This feature is similar to npm's package.lock and cargo's cargo.lock.
4735

48-
49-
50-
51-
52-
53-
54-
5536
For example, if we quote some packages, by default, if the version is not specified, xmake will automatically pull the latest version of the package for integrated use each time, for example:
5637

5738
```lua

docs/posts/xmake-update-v2.5.8.md

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,6 @@ tags: [xmake, lua, C/C++, pascal, swig, lua5.3]
44
date: 2021-10-08
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
9-
10-
In this version, we mainly added support for the construction of Pascal language projects and Swig modules, and for the Vala language support added in the previous version, we have also made further improvements, adding support for the construction of dynamic and static libraries.
11-
12-
In addition, xmake now also supports the optional Lua5.3 runtime, which provides better cross-platform support. At present, xmake has been able to run normally on the LoongArch architecture.
13-
14-
* [Github](https://github.com/xmake-io/xmake)
15-
* [Document](https://xmake.io/)
16-
17-
## New feature introduction
18-
197
### Pascal language support
208

219
Currently, we can use the cross-platform Free Pascal toolchain fpc to compile and build Pascal programs, for example:
@@ -47,12 +35,6 @@ We can also add compilation options related to Pascal code through the `add_fcfl
4735

4836
For more examples, see: [Pascal examples](https://github.com/xmake-io/xmake/tree/master/tests/projects/pascal)
4937

50-
51-
52-
53-
54-
55-
5638
### Vala library compilation support
5739

5840
In the last version, we added support for the Vala language, but before, we could only support the compilation of console programs, and could not generate library files. In this version, we have added additional compilation support for static libraries and dynamic libraries.

docs/posts/xmake-update-v2.5.9.md

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,6 @@ tags: [xmake, lua, C/C++, Nim, Keil, MDK, circle, Unity, Build, C++20, Modules,
44
date: 2021-10-30
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
9-
10-
In this version, we have added a lot of heavyweight new features, such as: Nim language project build support, Keil MDK, Circle and Wasi toolchain support.
11-
12-
In addition, we have made major improvements to C++20 Modules, not only supporting the latest gcc-11, clang and msvc compilers,
13-
but also automatic analysis of inter-module dependencies to achieve maximum parallel compilation support.
14-
15-
Finally, there is a more useful feature that is Unity Build support, through which we can greatly improve the compilation speed of C++ code.
16-
17-
* [Github](https://github.com/xmake-io/xmake)
18-
* [Document](https://xmake.io/)
19-
20-
## New feature introduction
21-
227
### Nimlang project construction
238

249
Recently, we have added build support for the Nimlang project. For related issues, see: [#1756](https://github.com/xmake-io/xmake/issues/1756)

docs/posts/xmake-update-v2.6.1.md

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,6 @@ tags: [xmake, lua, C/C++, Rust, Lua5.4, C++20, Modules]
44
date: 2021-12-03
55
author: Ruki
66
---
7-
8-
[xmake](https://github.com/xmake-io/xmake) is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, it is very friendly to novices, and you can get started quickly in a short time, allowing users to focus more on actual project development.
9-
10-
In this version, we have added a lot of heavyweight new features, such as: Nim language project build support, Keil MDK, Circle and Wasi toolchain support.
11-
12-
In addition, we have made major improvements to C++20 Modules, not only supporting the latest gcc-11, clang and msvc compilers,
13-
but also automatic analysis of inter-module dependencies to achieve maximum parallel compilation support.
14-
15-
Finally, there is a more useful feature that is Unity Build support, through which we can greatly improve the compilation speed of C++ code.
16-
17-
* [Github](https://github.com/xmake-io/xmake)
18-
* [Document](https://xmake.io/)
19-
20-
## New feature introduction
21-
227
### Switch to Lua5.4 runtime by default
238

249
After several versions of iterative testing, we officially switched to the Lua5.4 runtime in version 2.6.1.
@@ -300,4 +285,4 @@ target("loop")
300285

301286
* Fix semver to parse build string with zero prefix
302287
* [#50](https://github.com/libbpf/libbpf-bootstrap/issues/50): Fix rule and build bpf program errors
303-
* [#1610](https://github.com/xmake-io/xmake/issues/1610): Fix `xmake f --menu` not responding in vscode and support ConPTY terminal virtkeys
288+
* [#1610](https://github.com/xmake-io/xmake/issues/1610): Fix `xmake f --menu` not responding in vscode and support ConPTY terminal virtkeys

0 commit comments

Comments
 (0)