Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » U++ libraries and TheIDE converted to Meson build system
Re: U++ libraries and TheIDE converted to Meson build system [message #58678 is a reply to message #58676] Mon, 18 July 2022 23:33 Go to previous messageGo to previous message
germandiago is currently offline  germandiago
Messages: 14
Registered: June 2021
Location: Valencia
Promising Member
Klugier wrote on Mon, 18 July 2022 21:42
Hello German,

The general idea with this change is good. We need to deliver binaries that could be consume with other build systems. So, any project that aims to achieve this goal deserves recognition. If we for example manage to be consume by Conan package manager and CMake, then it will be a big gain for us. I remembered the discussion on the Redit and the main complain about Upp was that it requires specific environment. So, braking that silo in the long term is needed to achieve bigger reorganization and success.

In context of WxWidgets, you are right that Upp is better designed. I have never liked WxWidgets and the applications that use it. Upp just works faster and better. So, I am glad you want to invest your time in our framework.

I am not familiar with Meson, so I can not tell if it is right choice to achieve that. But, from what I reading it looks good, so far. I see one drawback at the moment of meson, you need to specify sources explicitly. It adds additional maintenance cost, which is not good. Sources should be deduced by parsing .upp file. There should be one source of truth, which files belong to project. We have explicit files list in our Makefiles, but this file are generated, not written by hand.

Emacs/CLion - I totally understand the people who would like to use different ide's. We should allow people to do that. In addition to that, I would like to add that Mirek is right now working on integrating libclang to TheIDE, so our ide should be much more better in near future. However, still you should't be force to use and you should be able to use ide of your chocie.

Thanks for that contribution. We will monitor your progress.

Klugier


Thank you Klugier. Very glad to see you like the idea.

My plan is not TheIde-related right now, though it could make sense to integrate Meson in the backend as well for TheIde to be able to use that as a backend for your builds in TheIde in the future, even if you keep the interface via .upp. This is not an explicit goal in the first stage, but in a second stage it could be done. It would be nice if you can emit Meson build files even if the interface in TheIde is still the same via upp files or whatever. I am not very familiar so I could be saying something silly.

As for wxWidgets, well, it does the job actually, and it always has that native-looking thing that is really attractive from the POV of a user using software. Smile But coding-wise Ultimate++ looks way better and it has advanced features as well Smile


As you mention, Meson does not do wildcard source expansion, since it seems to not be reliable according to the author. However, there is a trick that can do it. Relevant explanation here: https://mesonbuild.com/FAQ.html#why-cant-i-specify-target-fi les-with-a-wildcard


For the record, my plan is that a Conan package can follow after having a solid conversion to Meson build system to compile libraries and TheIde. Note that Meson itself can already create `.pc` config files and `.cmake` files for consumption. Conan would stretch package consumption by other generators,
but only with Meson you would already have those two at least.

What I would need from your side from experts in U++ is to review carefully what depends on what to do it properly in Meson build system itself.
I would like to improve it to be explicit about the private vs public dependencies of each package.

I was able to compile Linux and Mac already. Windows coming soon.

Also, as for using TheIde, I do not know how good code completion is right now but in that department there are very advanced tools nowadays compared
to years back. Meson generates a compile_commands.json file that can be used from many IDEs and provides code completion even for Ultimate++ code compiled
with Meson. That said, I understand you want to maintain the tool and experience for whom is valuable and I agree with that.

I could even collaborate helping integrating the build system in TheIde, but I think it would be a big win to let people use Ultimate++ from outside as you said.


Thanks for your support, I am excited to be able to contribute to offer U++ to a wider audience, which includes me also, since I was scratching my own itch Smile





[Updated on: Mon, 18 July 2022 23:55]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Source Code Efficiency Minor Issue
Next Topic: log file in Oracle8
Goto Forum:
  


Current Time: Sun May 12 20:16:52 CEST 2024

Total time taken to generate the page: 0.02549 seconds