CMake and Windows (compilation and CLion)

Is CMake build process compatible on Windows (with or without mingw)? Are there any ways other than slowphil’s solution, which is convenient, but CLion supports CMake. I ask this because I recently migrate my working environment to Windows and haven’t found a way to play with TeXmacs’s source code on Windows with CLion.
Thanks.

I have not tested the cmake build on Windows. Currently, it only works for macOS and GNU/Linux.

1 Like

Guess I will have to settle for dev on Mac for now. Are there any future plan on supporting CMake build on Windows?

Thanks.

It would be nice if somebody who cares can fix the CMake building process. The policy of the project is that the official make system is the GNU one (autoconf/make) but I’m maintaining a Xcode project and somebody would even make a Qt project or keep updated the CMake one. That is not difficult. You do not have to reproduce all the quicks of the configure/make process, just compile all the files with some reasonable flags and link in the libraries. I expect this to be a rather light effort.

Previously, I have looked into getting CMake to work on Windows. Two difficulties I didn’t manage to solve was compilation of guile 1.8 and poppler, due to unfamiliarity with mingw dev on Windows and relatively bad cross platform capabiility. I estimated it would take me a few days just to get it compiled, which to me, was not worth the time investment.

Why do you need poppler? The only hard dependencies are Qt and Guile. I agree Guile could not be easy to compile on Windows. Note that here http://www.texmacs.org/tmweb/download/winqt.en.html we packaged all the necessary libs to build TeXmacs under Windows. Maybe you can give a try.

Or you may try to use https://github.com/slowphil/mingw-w64-texmacs

2 Likes

Thanks. I will give it a shot.

I reference slowphil for compiling, in which he listed poppler as dependency, so I thought it was a hard requirement.

I intended to use conan as a fully automatic compiling process across different platforms. But I didn’t manage to get it work for TeXmacs.

1 Like

Then again, I wish to use CMake as part of the compilation process on Windows because of CLion, not just getting it compiled.

1 Like

Is important that somehow we try to use a standard way to construct packages, otherwise is difficult to track bugs. I would suggest you to use the SDK developed for TeXmacs which you can find here: http://ftp.texmacs.org/TeXmacs/dev/SDK/ It is what is used to produce the packages in the website. I tried and works very well on Mac, should also work on windows according to the info I send you before. Would be great if you manage to have it working on one of these cloud systems.

I follow the instructions as per described and I got this after running ./configure (with or without parameter)

Has this method been tested recently? Am I missing some extra steps?

Just found out that there is a README under one of the compressed files. I will follow from there. I was confused at first looking at all these files. I think this README file should be separately placed in http://ftp.texmacs.org/TeXmacs/dev/SDK/.

I believe README inside tmSDK requires an update, since I cannot find script “setsdk.sh” inside the folder, and I run “./setenv.sh -a” to initiate the auto building process.
image

Please report this kind of problem in the texmacs-dev list or in the bugtracker, the person responsible for the SDK is not active on this forum. Thanks!

I think also that the setsdk script is only needed on Mac, on Windows is meaningless.
You should be able to go along with the other commands. (I agree the description there is misleading, however if I remember correctly the main script tell you what you can do afterwards). I think I used ./setenv.sh -m to be able to do all the subsequent step manually myself. Anyway if you have suggestions or remarks please post them on texmacs-dev

I believe setsdk.sh is renamed to setenv.sh, since all the options of these two scripts are the same. On Windows, one needs MSYS2 or other alternative tools to access Unix environment and to build TeXmacs.