inexorgame-obsolete / deprecated-cube-engine-inexor

UNMAINTAINED: Please have a look at the vulkan-renderer
https://inexor.org
zlib License
11 stars 1 forks source link

Fully automate the build procedure on windows #380

Open a-teammate opened 7 years ago

a-teammate commented 7 years ago

As described in our wiki that although all our used libraries are covered by the create_vs_project.bat (which also does build for you) it requires to have some dependencies downloaded and installed before which could be cumbersome. Furthermore its necessary to add those dependencies to the PATH, which is not really what windows users are used to do.

The list of those dependencies is:

It would be cool to provide an "install_requirements.bat" which downloads them, installs them (optimally also silently) and adds them to the PATH if they are not yet available. Or at least guides the dev through installing them (e.g. already downloads them but the users needs to install them manually then).

Croydon commented 7 years ago

When we use git for media repository it just became an end user depedency again. We need to figure out how to ship it then again.

Also I somehow don't like that this is called "on Windows" when it just means VS on Windows :)

Fohlen commented 7 years ago

We will always need git in the build process.

Croydon commented 7 years ago

I have talked about an end user dependency..

a-teammate commented 7 years ago

There is only vs on Windows supported right now

And I did not write anywhere that git is an enduser dependency did I? It's used by conan. But it should be.

If we make it an enduser dependency (we could if we i.e. want to use npm in the game somewhere) there will be a solution necessary to install it in the installer. But there will be anyways a similar solution needed for nodejs

aschaeffer commented 7 years ago

When we use git for media repository it just became an end user depedency again. We need to figure out how to ship it then again.

In Inexor Flex we use the npm package nodegit for fetching the media repositories. With nodegit there is no need to have git installed by the end user and we don't have to ship it. See here:

NodeGit will work on most systems out-of-the-box without any native dependencies.

Fohlen commented 7 years ago

Git is a dependency to npm itself

Am 25.02.2017, 01:04, Andreas Schaeffer notifications@github.com schrieb:

When we use git for media repository it just became an end user depedency again.

In Inexor Flex we use the npm package nodegit. With nodegit there is no need to have git installed by the end user. See here:

NodeGit will work on most systems out-of-the-box without any native dependencies.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

a-teammate commented 7 years ago

@aschaeffer: nodegit is a npm package. Imo thats a bit weird, since npm uses git internally.. :D

Croydon commented 7 years ago

We shouldn't make npm an end user dependency, also we can ship nodegit with releases, therefore having git on the end user computers.

Croydon commented 7 years ago

Makes no sense for developers, sure.

aschaeffer commented 7 years ago

Off topic? "Build procedure" has nothing to do with "end user dependency". In fact no single comment in this issue has anything to do with the original topic. Please create a separate issue and move the discussion there.

Fohlen commented 7 years ago

Npm is shipped by default and we heavily rely on it for the internal modules .....

Am 13.04.2017, 10:39, Croydon notifications@github.com schrieb:

We shouldn't make npm an end user dependency, also we can ship nodegit with releases, therefore having git on the end user computers.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

Croydon commented 7 years ago

For Conan: we could first check if pip is installed, if not, offering the setup of pip, then check if conan is installed, if not installing conan via pip.