Just switched from CMake to xmake for Mogan Editor

Contribution Guide for Mogan Editor

Developing guide for xmake on GNU/Linux and macOS is available above.

For Windows, we haven’t provided detailed guide yet. But you can learn how to develop on Windows via our CI: https://gitee.com/XmacsLabs/mogan/blob/main/.github/workflows/ci-xmake.yaml

@mgubi I suggest that you should try it. I think we should finally switched from autotools to xmake for GNU TeXmacs.

4 Likes

Thanks! As I understand GNU projects are required to use auto tools. But we can also provide xmake projects of course! I do not care much about cmake, if you think that xmake is better and that we can import the workflows from Mogan to TeXmacs that would be great. We need a reliable way to build and test our sources automatically. It seems you have done a great job for Mogan in this respect.

2 Likes

In one word, xmake with xrepo is a better solution of cmake with MXE.

xmake will automatically fetch the C++ dependencies and compile it.

Why we still need to install Qt manually?

Because compiling Qt from scratch takes too long!

2 Likes

Great work, it seems to work well!

For fellow Fedora users: I had to do xmake f --qt=/usr/lib64/qt5/ for it to find Qt.

3 Likes

It seems you have done a great job for Mogan in this respect.

@jingkaimori has done a great job for Mogan on xmake support, especially on Windows.

As I understand GNU projects are required to use auto tools.

Autotools is too hard to use. The GNU guys should design a better build tool.

But we can also provide xmake projects of course! I do not care much about cmake, if you think that xmake is better and that we can import the workflows from Mogan to TeXmacs that would be great. We need a reliable way to build and test our sources automatically.

Create pull requests to https://github.com/xmake-io/xmake-repo/tree/master/packages to support GNU Guile 1.8 would be the first step. xrepo provide a nice way to customize the personal repo. We do not need to wait the pull requests to be merged.

1 Like

As I understand GNU projects are required to use auto tools.

And the author of xmake created xmake.sh.

It might be a good alternative of autotools: https://github.com/xmake-io/xmake.sh

The workflow is the same as autotools. The build syntax is similar to lua-powered build definition in xmake but maintained in shell scripting. It seems it is generating Makefiles.

1 Like

These two pull requests show the power of xmake:

Using xmake, it is very easy for us to depend on the nowide library rather than include the source code for nowide. cc @pjoyez