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

Use the Conan.io Package manager #351

Closed a-teammate closed 7 years ago

a-teammate commented 7 years ago

This PR will fix building on Linux + it will enable support for all compilers having proper C++14 support (so e.g. vs2013 is back in business) (excluding MinGW since I didn't test it)

The build procedure changes heavily. All dependencies get build on the developer machine using the developer compiler so no incompatibilities anymore.

It does use caching: If the dependency exists in prebuilt form on conan.io it will download it from there instead of building it. Furthermore if you already built that version of the dependency you won't need to do so again (it gets saved in your user directory).

Hence you won't need to install any dependencies from your distros package manager except for:

Build procedure: https://piratenpad.de/p/conan

Building is a three step procedure: Run Conan (to get our dependencies) Create a new build folder inside the inexor-code repo open the [command line](link to smwh explaining that) cd (change directory) into the build folder type "cd or "cd " you can use tab for auto completion of names ".." is the name of the parent folder so type "cd .." to go one up type conan install .. --build missing this will get all dependencies from the cache servers (or compile them if they havent been found) On first invocation this could take some time and if you switch compilers (or between Release and Debug). Otherwise results are cached. Run CMake (Create your specific build files) [we could eliminate this point and run cmake with conan: pro: settings missmatched never happen. con: no GUI, flags could be harder ... rest is in the wiki

Notes: conan install --build=missing fürs script visual studio multi configuration not supported git is required now on windows!

TODOS:

Croydon commented 7 years ago

FYI, as soon as Conan works and is merged I will fix, upgrade and make Travis a lot more flexible.

a-teammate commented 7 years ago

nice :) Ill merge today eve or the next days if @aschaeffer is online

a-teammate commented 7 years ago

I stroke the last point called "find out about the used packages legal information". Since this should be part of a distribution. We could easily generate a file with the contents of that file then.

conan info --only=license (inside the main folder) will list all used dependencies and its licenses

a-teammate commented 7 years ago

okay, all points are cleared, can be merged as soon as @aschaeffer tells me its running (building is verified by travis already) on linux

a-teammate commented 7 years ago

4/4 checks passed, CI is working again :)

Lets merge this today!

a-teammate commented 7 years ago

The most important questions are though: Is the rpath already correctly set for linux and is the libudev error back? In other words: does it start?

a-teammate commented 7 years ago

merged