Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better dependency management #18

Open
dev-abir opened this issue Jul 11, 2020 · 8 comments
Open

Better dependency management #18

dev-abir opened this issue Jul 11, 2020 · 8 comments

Comments

@dev-abir
Copy link

If someone tries to build your project, he is forced to use Microsoft Windows, with Visual Studio. It is better if you provide steps(or a script) to build for other platforms and compilers.

You may use CMake, or something similar. I know it is hard in C++. It would be better if we had package/dependency managers like maven, gradle in JAVA.

@pavly-gerges
Copy link

pavly-gerges commented Apr 12, 2022

If someone tries to build your project, he is forced to use Microsoft Windows, with Visual Studio. It is better if you provide steps(or a script) to build for other platforms and compilers.

You may use CMake, or something similar. I know it is hard in C++. It would be better if we had package/dependency managers like maven, gradle in JAVA.

I am working on a simple building tool for c/c++ applications called 'Ccoffee', i am using it in a couple of my applications, it uses shell, if i succeeded to integrate that into the engine, would it be efficient ? and i think it may work for windows too on windows terminal.

EDIT : example of usage (the script also supports jni) :
https://github.com/Arithmos-Algorithms/Arithmos/tree/master/build/compile
https://github.com/Scrappers-glitch/AVR-Sandbox/tree/master/HelloBlink/build

It uses variables to dynamically compile the sources.

@Poikilos
Copy link

It uses variables to dynamically compile the sources.

@Scrappers-glitch Isn't that every build system? Why not use cmake or scons?

@pavly-gerges
Copy link

It uses variables to dynamically compile the sources.

@Scrappers-glitch Isn't that every build system? Why not use cmake or scons?

Well, yeah i wanted to have a very simple build that anyone could potentially change according to their needs, plus the ability to use jni easily.

@dev-abir
Copy link
Author

I am working on a simple building tool for c/c++ applications called 'Ccoffee', i am using it in a couple of my applications, it uses shell, if i succeeded to integrate that into the engine, would it be efficient ? and i think it may work for windows too on windows terminal.

Interesting 🤔, but I would suggest use something like CMake or scons. There are multiple reasons:

  • The project will grow, more libs will be added, you have to manage your custom build system, fix its bugs...
  • If it was a tiny program like maybe 10 cpp files, then a build shell script would be enough. You will be tempted to write a simple build system on your own, but I think using a pre-built one will be better in the long run, moreover at this stage, writing a CMakeLists.txt would not be very hard.
  • People will instantly know what to do after they see a CMakeLists.txt file.

Another thing... Your repo contains a "Dependencies" directory, which is problematic if you are willing to make this cross-platform (though I don't know exactly how much cross-platform these libraries are). Like ubuntu has a new lts release every 2 year....
Also, you may create a docker container just to build the sources, then just install the relevant runtime dependencies in the target machine. (Just a random idea 😅)

About windows.... Windows can't run .sh scripts afaik. Python or lua could be a better option, if you have to write a cross platform script.

@pavly-gerges
Copy link

Also, you may create a docker container just to build the sources, then just install the relevant runtime dependencies in the target machine. (Just a random idea )

Yep, i planning to do something similar soon.

I haven't used CMake outside of android environment before, i hope its only a matter of installing cmake and using it to run a cmake script from terminal directly without problems....i will try cmake.

@Ershany
Copy link
Owner

Ershany commented Apr 26, 2022

I just started being active on this project again. Let me set something up. Just started building out the engine editor.
Will have something soon :)

@pavly-gerges
Copy link

I just started being active on this project again. Let me set something up. Just started building out the engine editor. Will have something soon :)

I loved the simple coding style the engine is following, so good work indeed, i will try to provide a C-make script to build the engine soon.

@Ershany
Copy link
Owner

Ershany commented Apr 3, 2023

I have some boilerplate setup for pulling dependencies. All that is left is building scripts to build the game for other things besides VS 2019+
At this time I won't be putting more effort into this issue until Arcane is farther in development and you can actually build games with it. By then it will be high priority to get more developers involved :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants