-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: use a single Makefile #155
Conversation
@hassandraga Please invite @ttytm. Thanks. |
Thanks for the work on the repo @AlbertShown! I got an invitation a few weeks ago and can merge things. But I feel a bit safer submitting such changes as PR so more then just two eyes can check the changes to prevent potential oversights. I would merge things myself when it has the approval of one other maintainer or small obvious things without review. The PR is not finished, please don't merge yet. |
👍 |
7deb6f3
to
9b28a35
Compare
It's babysteps on the PR due to the time constraints but we'll get there soon 👍 |
907f86a
to
0e9f79d
Compare
Thank you @ttytm for this, yes, one WebUI Build
WebUI-Bridge Build
|
I suggest to modify/new PR as this:
|
Thanks for throwing out all the work in the lasy days @hassandraga, it's motivating. The goal is to finish this PR here today as well. |
If you have any file conflicts because of the last commits, just do a fresh |
Thanks, yes I'll rebase onto the lastest main state and squash related commits to bring them in a comprehensible structure before marking it as ready. My visit just left, I'm on this now 🤓👍. |
a96e0e1
to
6987c6e
Compare
This might be an engineers disease to underestimate the work ever so often - especially when it comes to cross platform compatibility with different compilers. Or maybe it's just me. My goal for today was not fully met, but I got very close.
To complete this PR I'm aiming to finish MSVC compilation and the Readme tomorrow, I think this is realistic this time. Other changes like a single Makefile for the examples can still be done separately, they can work with multiple until then. |
96d99f1
to
d65b95e
Compare
If you want, you can focus on the root makefile only, because it's the most important, when it's done, I will copy it and I will update all examples to use it. |
I'm fine with keeping |
In my opinion |
We should also add more sub-folders like |
What is the use case for the subfolders if I may ask? |
d60f6b8
to
f83727f
Compare
To build for deferent platforms, so we can solve issues like this webui-dev/deno-webui#9. |
Yes thought that it is to support differnt platforms, but I don't see yet why different directories are needed for this. The output of the new makefile would always land in build or dist. The architecture would depend on the system it was build on. I added the possibility to cross-compile on mac for mac m1 arm. So the output can be used in the CI and for releases. Wouldn't adding different directories be the same as it is for the compilers now with |
I upated the build instructions to match the Readme in the bridge dir. To check it github rendered: https://github.com/ttytm/webui/tree/build-single-makefile-in-root#build Please let me know what you prefer. To finish the PR I update the build output directory to |
Yes, the readme section will stay as you suggested. |
I will create a Wiki page later to explain everything. This PR right now is looking good to me. |
f83727f
to
f71f235
Compare
Thanks for the review! Readme was updated to the suggestion and out dirs to dist. One thing that is left todo I see is that the msvc lib is not added to the artifacts: |
First of all, Thank you very much for finishing this new build system, I appreciate it @ttytm 👍
Yes, |
Thanks for your work as well @hassandraga. The |
Thank you @ttytm, finaly one makefile is here 🐱👤 |
I kept it for a while but removed it after testing it from several angles. I must have missed the need for this additional flag for Windows GCC. #167 Would re-add it for Windows GCC. Sorry about the inconvenience. GCC is building in CI. Can you share what is failing on your machine? Edit: Please also tell me about or share a reference to the CLOCK_GETTIME flag. |
This PR is currently WIP.
Finished it...
Makefile
in the projects root that works dynamically based on the platform and also allows to specify a compiler via e.g.COMPILER=gcc
.ARCH_TARGET
for mac, which I can use during github CI runs to addARCH_TARGET=arm64-apple-darwin
to cross-compile for m1 and add it to the releasesbuild/
directory with all its filesEither here - as it is related - or in a separate PR: I will also remove the need to hold static libray files in the example directories and rather update their Makefiles to handle the static files.