Kriper1111 / LPPSolve

A program to visualise solutions and acceptable areas of three-dimensional Linear Programming Problems
Do What The F*ck You Want To Public License
0 stars 0 forks source link

Dependences for cross-platform builds #1

Open Kriper1111 opened 2 years ago

Kriper1111 commented 2 years ago

Certain dependencies aren't available on all platforms out of the box:

Needs to find the substitutes/alternatives, if we want GitHub Actions CI.

Kriper1111 commented 2 years ago

Completely forgot about the quickhull lib I use and it's unlikely to be available from any of the major package lists. So there goes the first submodule, ImGui is likely to follow, as this Makefile relies on my dev layout, which builds it from source.. which isn't included in the repo. Oops.

Kriper1111 commented 2 years ago

Couple of updates: ImGui is now being uncached from source on Linux, forgot to add that on Windows runner.

The biggest headache is, as always, Microsoft and its vcpkg, god damn the thing. I'll probably end up using precompiled glfw/glm or building the former from source on Windows, as Linux doesn't have too much issues with that.

Kriper1111 commented 2 years ago

So now that builds are a thing, it's time to think about cddlib on Windows. Also need to "runtest" assets baking before I can comfortably close this issue. (#9)

Kriper1111 commented 2 years ago

Who would've thunk that actually reading a suggestion from the tool might help. I've managed to configure cddlib with --disable-dependency-tracking, as it suggested me to do in the first place. I hope that the github runner has make, but I'd much rather build it from Visual Studio builder, as the main part of code is being built this way already.

No real harm in changing the builder, but consistency. I have managed to produce a working example though. It would require modifying the config.h fallback for Makefile, as it's clashing with cmake's config. Could probably just use the add_dependency command in the file, although it's not the best approach I'd reckon.

Kriper1111 commented 2 years ago

..well that didn't work. Who would've thunk that autotools are thorough enough to expand /bin/sh to its full install path. Which may include spaces. Which they cannot handle. Nice.

A few fixes are underway -- I'll look into sed-ing the configured Makefiles to quote out the $(SHELL) to "$(SHELL)" and am also working on a quickie CMake port of cddlib's toolchain. I'd have to look into how it's best published.

Kriper1111 commented 2 years ago

I don't like cddlib.

Kriper1111 commented 2 years ago

In other words, it is somewhat inconsistent with where are its headers located across focal and jammy versions of it. That's the problem with it on Linux runner. On Windows runner the problem is that they use autotools. I'll probably either regress to an older fork with cmake compat or make my own. Mixing compilers is heresy.

Kriper1111 commented 1 year ago

I guess I'll have to test what's broken on MacOS, since as of recent enough changes we do (successfully) compile there, before I can close this issue. Packaging should have its own issue.