Giter Site home page Giter Site logo

Python vs. CMake for Build tool about sol2 HOT 9 CLOSED

thephd avatar thephd commented on May 17, 2024
Python vs. CMake for Build tool

from sol2.

Comments (9)

nabijaczleweli avatar nabijaczleweli commented on May 17, 2024 1

Yes, there is. CMake is utter shit.

from sol2.

Nava2 avatar Nava2 commented on May 17, 2024

That's neither an answer, nor helpful.

from sol2.

nabijaczleweli avatar nabijaczleweli commented on May 17, 2024

It is the answer The Lounge (and, by membership, ThePhD) will give you

from sol2.

ThePhD avatar ThePhD commented on May 17, 2024

Erm... Lounge affiliation or not, as I explained in #23, using CMake is not practical because this library doesn't have any build steps.

from sol2.

ThePhD avatar ThePhD commented on May 17, 2024

Out of curiosity, what're you trying to "build" with Sol? Is it just the automation of finding the right lua version to get bundled with it? IMHO, I would like that to be the user's choice, and not a feature (and eventual problem) we have to graft onto the library (as Sol is meant to be lua-version-agnostic, for the most part).

from sol2.

Nava2 avatar Nava2 commented on May 17, 2024

My research (for my masters.. not as the PhD level 😉) has Lua as a primary component and needs to be tested and run cross-platform. So, finding Lua is always a pain. This is something CMake does really well.

from sol2.

Nava2 avatar Nava2 commented on May 17, 2024

Oh, and I just re-read what you wrote about Lua versions, you're correct. The Lua Version is only required when building the tests or examples. Otherwise, it never asks nor requires it. That being said, I would figure Intellisense and other tools when developing sol2 would have some problems if you didn't.

from sol2.

ThePhD avatar ThePhD commented on May 17, 2024

After thinking about this a bit more, I think I'm going to have to stick with the python. The primary reason is that it's simple and will continue to be for automating our test suite. I also want to be careful because, when we hit the 2.0.0 tag (probably in the next 2 weeks), what the release story will be is literally is:

"We ran single.py and you just need to download the amalgamated sol.hpp to get going. Put it anywhere you like. Enjoy."

CMake doesn't really help with that story, so in the end it'd just be something that we use to run our tests... so then we have to ask ourselves "is this something we want for running the tests / examples?"

And at the moment... nah, not really. Though I can see how easy it is to get going, I am unfortunately not very good at CMake and am focusing on writing the docs / preparing for v2.0.0 release. We'll keep the python zaniness for now, and just request that users who want to do things like find the right Lua version should consult their specific platform / build system for it.

from sol2.

Nava2 avatar Nava2 commented on May 17, 2024

As a last attempt to change your mind, since I need to be using this for the foreseen future, I don't mind maintaining the build.

I hadn't got around to it, but I was planning on adding the single header to cmake. I think what stopped me was the script is currently broken.

from sol2.

Related Issues (20)

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.