Skip to content
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

Merged
merged 16 commits into from
Jul 15, 2024
Merged

Commits on Jul 14, 2024

  1. Configuration menu
    Copy the full SHA
    6039cfe View commit details
    Browse the repository at this point in the history
  2. make: condition shell PATH workaround on make version

    No point in using it with make>=4.4.
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    f821f52 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6cbb194 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2f42065 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    13d06d1 View commit details
    Browse the repository at this point in the history
  6. make: tweak setup rule

    To always run cmake (handy when hacking on the build system).
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    3b451c4 View commit details
    Browse the repository at this point in the history
  7. make: add buildstats target

    Dump build timings for the last ninja invocation.
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    6cd0522 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a11fe41 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    624fd63 View commit details
    Browse the repository at this point in the history
  10. cmake: rewrite external projects support

    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
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    6627ecd View commit details
    Browse the repository at this point in the history
  11. ci/macos: drop Python setup

    We don't need it (not yet, since we don't use meson).
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    e419021 View commit details
    Browse the repository at this point in the history
  12. ci/macos: move dependencies install at the start of the build

    We need a more recent make anyway (or the newly added version check won't be happy).
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    a9232ba View commit details
    Browse the repository at this point in the history
  13. ci/macos: update build dependency

    - drop unneeded: gettext, gnu-getopt, grep, wget
    - add new one for updated build system: findutils & util-linux
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    04cfc79 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    9c73b8d View commit details
    Browse the repository at this point in the history
  15. make: add reinstall target

    Will cleanup output directory (keeping cmake and thirdparty
    directories), as well as thirdparty project install stamp files
    and trigger a build.
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    ddd0894 View commit details
    Browse the repository at this point in the history
  16. make: change macOS host detection

    Use `$(MAKE_HOST)` variable instead of uname.
    benoit-pierre committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    1f94e04 View commit details
    Browse the repository at this point in the history