Provided CMake, Makefile and example demos have a very confusing build structure #8011
Replies: 5 comments 8 replies
-
Recommending closing, as the majority of what I discussed would be quite difficult due to the variability across platforms and renderers. |
Beta Was this translation helpful? Give feedback.
-
I discussed it a little bit in #7892 I need to stress that i am not in principle against providing cmake files but i believe people who write them are thoroughly disconnected from the reality of what it takes to compiles and link against a dozens windowing/graphics library which for many have no standard way of being acquired. |
Beta Was this translation helpful? Give feedback.
-
I have experienced and observed this lack of low level workings knowledge and think I share some of your concern. I have just now perused a few of the cmake PRs and haven't really seen anything like how I would write a cmake structured project. Not really a fan of any that I saw. Perhaps I will put a few hours into restructuring the project and see what you think. I have written some crazy complicated cmake build systems ... but I think the opposite would be better in this case. I will have to look into your CI/CD pipeline to see how you're building each platform/backend combination .. if you are. |
Beta Was this translation helpful? Give feedback.
-
I basically think there is no good solution to this problem, and that people who claim/think they have a solution are most of time introducing new constraints which are not to the taste of some of the user base. I’m trying to be open minded to proposals but the fact that no one agrees on anything (“haven't really seen anything like how I would write a cmake structured project”) when it comes to making a cmakefile is a strong indicator that the system is not adequate. |
Beta Was this translation helpful? Give feedback.
-
#8012 |
Beta Was this translation helpful? Give feedback.
-
This is in relation to how ImGui is built and run on various platforms and is probably more of a complaint unfortunately.
As someone who uses CMake quite a bit in a professional setting, i am a little bit shocked that:
Note: The CMakeLists.txt file in the SINGLE example code source directory links to the ImGui Framework and to the variable which points to your configured backend variable from the toolchain.
Any development of this ImGui into a product need only the toolchain file, client/product source code, ImGuiFramework.so, backend.so. I really hope it is evident how this would improve upon the provided repo structure and aid in developers (novice to advanced) get your excellent repo working quicker and more easily. It is a slightly confusing task to separate ImGui Framework from the ImGui demo code. These are 2 entirely different objects and should be clear separations enforced.
Beta Was this translation helpful? Give feedback.
All reactions