Git Product home page Git Product logo

Comments (9)

ethomson avatar ethomson commented on June 21, 2024

There should be very few dependencies necessary (in fact, you could compile with zero dependencies but limited functionality). Setting this up is going to depend very much on what platform you're targeting and what functionality you do want.

from discussions.

twaritwaikar avatar twaritwaikar commented on June 21, 2024

@ethomson Could you direct me on making a zero dependency build? I am currently having to link against winhttp, rpcrt4, crypt32 and ole32 manually. Would be nice to have no system dependencies for offline use

from discussions.

twaritwaikar avatar twaritwaikar commented on June 21, 2024

I did get the library to build with Scons on Windows btw. I just want it to be multi-platform compatible

from discussions.

ethomson avatar ethomson commented on June 21, 2024

I don't understand what you mean by "no system dependencies for offline use". Any Windows machine is going to have all of those libraries. You could disable networking entirely, and you wouldn't need winhttp, but you'll never not have it. (Things like system32, though, there's no way to eliminate a dependency on.)

from discussions.

twaritwaikar avatar twaritwaikar commented on June 21, 2024

@ethomson If that's case (winhttp is going to be needed someday) then if there a list of all the different libraries that I need to know about while porting over my scons code to Linux lets say, then it will make my job a lot easier actually. I assume winhttp needs to be replaced, or I may need to exclude some windows only .cpp files and include some unix only files instead.

Just looking for making a successful port basically.

from discussions.

twaritwaikar avatar twaritwaikar commented on June 21, 2024

Would be nicer for the project to not even depend on rpcrt4, crypt32 and ole32 for reliable porting

from discussions.

ethomson avatar ethomson commented on June 21, 2024

Would be nicer for the project to not even depend on rpcrt4, crypt32 and ole32 for reliable porting

It only depends on those things on Windows.

I'd encourage you to actually run cmake on these different platforms to understand how the detection of dependencies works, and then look at the generated features.h and compiler flags used to build the library.

You might also consider just building the library with cmake. Surely godot can reference libraries that aren't built in-tree with scons, can't it?

from discussions.

twaritwaikar avatar twaritwaikar commented on June 21, 2024

features.h should help if it switches features on and off. Thanks I will look into the CMake flags and library detections.

I originally started with linking to libgit2 externally to Godot, however, linking to external libraries is not done at all in Godot apart from some system libraries and instead, most of the libraries are build from source.

from discussions.

twaritwaikar avatar twaritwaikar commented on June 21, 2024

Closing this because I was able to get libgit2 to build with Scons. However, I don't think sharing my code will help someone working with Scons because Godot uses its own framework built around Scons to compile third-party code. The scripts look a lot different.

But all I did was to read all the CMakeLists.txt files and translated the CMake script basically to Scons.

from discussions.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.