-
Notifications
You must be signed in to change notification settings - Fork 105
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
rewrite external projects support #1847
Conversation
(Impressive, this amount of black magic that I don't understand :) If most/all of this is to answer my recent complains about building, thank you :) ) |
88277e6
to
940d6ab
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good and looks good. 👍
No point in using it with make>=4.4.
To always run cmake (handy when hacking on the build system).
Dump build timings for the last ninja invocation.
Don't use CMake's `ExternalProject` support, this allow for consolidating some steps: - download: clone / download to `thirdparty/project/build/source` / `thirdparty/project/build/downloads` - prepare: (re-)create source directory, apply patches (overlay, files, command). - configure: (re-)create build directory (or clean up source directory when not building out-of-tree), configure project - build: self-explanatory - install: self-explanatory Merging the extract / checkout creation with applying patches into one prepare step ensure the later are always applied starting from a pristine source tree: interrupting the step will not result in a broken (partially patched) tree. Steps are triggered on the following: - download: parameters changed - prepare: download step ran, patch overlay contents changed, patch list and/or contents changed, patch command changed - configure: prepare step ran, command line changed, koreader/toolchain file contents changed, direct dependency change (e.g. a zlib's version change — archive MD5 or Git revision — trigger a re-build of libpng) - build: configure step ran, command line changed, source file timestamp changed, direct dependency install step ran - install: build step ran, command line changed
We don't need it (not yet, since we don't use meson).
We need a more recent make anyway (or the newly added version check won't be happy).
- drop unneeded: gettext, gnu-getopt, grep, wget - add new one for updated build system: findutils & util-linux
Will cleanup output directory (keeping cmake and thirdparty directories), as well as thirdparty project install stamp files and trigger a build.
Use `$(MAKE_HOST)` variable instead of uname.
940d6ab
to
1f94e04
Compare
koreader/koreader-base#1846 koreader/koreader-base#1848 koreader/koreader-base#1850 koreader/koreader-base#1847 koreader/koreader-base#1849 koreader/koreader-base#1851 koreader/koreader-base#1852 koreader/koreader-base#1853 koreader/koreader-base#1854 koreader/koreader-base#1856 koreader/koreader-base#1855
koreader/koreader-base#1846 koreader/koreader-base#1848 koreader/koreader-base#1850 koreader/koreader-base#1847 koreader/koreader-base#1849 koreader/koreader-base#1851 koreader/koreader-base#1852 koreader/koreader-base#1853 koreader/koreader-base#1854 koreader/koreader-base#1856 koreader/koreader-base#1855
koreader/koreader-base#1846 koreader/koreader-base#1848 koreader/koreader-base#1850 koreader/koreader-base#1847 koreader/koreader-base#1849 koreader/koreader-base#1851 koreader/koreader-base#1852 koreader/koreader-base#1853 koreader/koreader-base#1854 koreader/koreader-base#1856 koreader/koreader-base#1855 (fix koreader#12178 & fix koreader#12128)
Just reporting that I updated base & front on my small linux, and managed to rebuild the emulator, after installating ninja and kodev clean (tried first (Also stupid I got to do it on this really warm day, I feared for my fanless PC that got hyper warm.) |
So how long does a |
Via my wrapper scripts (which do
So, well done :) But now, any crengine single file rebuild outputs a lot of warnings - that I was fine without :). Any way to remove that, so I can only see what's being rebuild without much noise ? |
That's because crengine is now compiled with |
I have a problem since this update when compiling koreader-cre: Checking out the previous commit works. |
First question: why root? And is You can try removing / renaming |
Also, paste more of the log, running with |
Root because it is a Termux Proot distro. I compile for my Kobos in the phone. I had to go through a few hoops to make it work but it works. The file is a symbolic link to itself. It happens with other targets like libjpeg-turbo, not just lunasvg. In any case is not important since I will be using the computer again in September |
So a git bug? Which version are you using? The method used to create the checkout is different, so the error might have been previously ignored. |
git --version git version 2.43.0 |
Well, I don't know what's happening. If you want to investigate, you can try manually running the commands used by |
Cheers. I will take a look and report back if I found out something |
I skipped the errors commenting the return and works again: Thanks |
Don't use CMake's
ExternalProject
support, this allow for consolidating some steps:thirdparty/project/build/source
/thirdparty/project/build/downloads
Merging the extract / checkout creation with applying patches into one
prepare step ensure the later are always applied starting from a pristine
source tree: interrupting the step will not result in a broken (partially
patched) tree.
Steps are triggered on the following:
Note:
CMakeLists.txt
)This change is![Reviewable](https://camo.githubusercontent.com/23b05f5fb48215c989e92cc44cf6512512d083132bd3daf689867c8d9d386888/68747470733a2f2f72657669657761626c652e696f2f7265766965775f627574746f6e2e737667)