Commit Graph

41 Commits

Author SHA1 Message Date
alexey.lysiuk 37bc39c57f aedi: handle symlinks when merging paths
symbolic links are kept unchanged instead of merging files they point to
2023-03-30 17:09:28 +03:00
alexey.lysiuk a529169f4c aedi: distinguish build target that uses some tool from a target that builds this tool
`base.CMakeTarget` is a base for a target that uses cmake to build itself
`CMakeTarget` is a target that builds cmake
2023-03-21 13:02:02 +02:00
alexey.lysiuk 4645a58fec aedi: print source version when building from git repository 2023-03-18 12:17:13 +02:00
alexey.lysiuk 4880b7bd15 aedi: assert on unsupported os version 2023-01-01 10:47:22 +02:00
alexey.lysiuk 4bfb07f6eb aedi: update copyright years 2023-01-01 10:46:34 +02:00
alexey.lysiuk 3e3b1b5835 aedi: add quasi-glib command line option 2022-12-28 12:48:17 +02:00
alexey.lysiuk 0ac55d2502 aedi: group command line options 2022-12-28 12:46:19 +02:00
alexey.lysiuk 68bfa7744b aedi: replace remaining usages of legacy subprocess api
apply state's environment variables when running an external process
2022-08-25 13:02:10 +03:00
alexey.lysiuk c6dbfe5be5 aedi: add option to build with static moltenvk
this applies to gzdoom and raze targets only
2022-08-22 10:50:18 +03:00
alexey.lysiuk e410e3f7f4 aedi: do not overwrite state environment variables
some adjustments like temporary directory are made before target configuration stage
2022-08-21 10:54:50 +03:00
alexey.lysiuk 24a2c520bd aedi: add initialize method to target class
it's called on all targets except selected one before prefix directory creation
2022-08-18 12:40:52 +03:00
alexey.lysiuk bcec0999de aedi: add configurable temp directory
use it as $TMPDIR via state's environment variables
2022-08-16 12:25:55 +03:00
alexey.lysiuk 93210b1a81 aedi: create source path directory 2022-08-16 12:11:04 +03:00
alexey.lysiuk 2989630d79 aedi: remove empty directories in prefix 2022-06-20 10:31:13 +03:00
alexey.lysiuk de48b542be aedi: update copyright year 2022-01-11 11:43:50 +02:00
alexey.lysiuk bc36a95b78 aedi: fix modification of os.environ 2021-08-14 13:03:39 +03:00
alexey.lysiuk 4aa48ce2b6 aedi: fix sdk path adjustment 2021-08-07 15:57:05 +03:00
alexey.lysiuk 13bd0b413a aedi: change imports according to isort 2021-08-05 10:12:20 +03:00
alexey.lysiuk 2a64d4c12d aedi: remove copying of target during multi-platform build
this completes #35
2021-08-05 10:00:33 +03:00
alexey.lysiuk 5d924c087c aedi: move options from target to state 2021-08-05 09:59:49 +03:00
alexey.lysiuk a274880aa6 aedi: move environment from target to state
this completes #34
2021-08-05 09:55:43 +03:00
alexey.lysiuk 557f5a79d3 aedi: fix reuse of variables with different types 2021-08-04 09:41:56 +03:00
alexey.lysiuk 5dc10de290 aedi: fix missing and erroneous type hints 2021-08-04 09:41:56 +03:00
alexey.lysiuk 9cf0788e83 aedi: do not run download-cmake target automatically 2021-07-25 12:39:48 +03:00
alexey.lysiuk 0961551fd8 aedi: use pathlib module for most of path operations 2021-07-22 09:51:35 +03:00
alexey.lysiuk 0a447b3077 aedi: remove obsolete target's initialize method 2021-06-28 10:50:35 +03:00
alexey.lysiuk 582d6fe497 aedi: download cmake before building a target 2021-06-27 15:25:05 +03:00
alexey.lysiuk 88dade9121 aedi: add constants for minimum OS versions 2021-06-25 10:04:38 +03:00
alexey.lysiuk f6f6aa13ed aedi: make patching explicit 2021-06-01 10:18:38 +03:00
alexey.lysiuk 539d67838f aedi: remove most of git operations
ability to checkout a commit and implicit pull of remote changes were infinite source of errors
only initial clone of source code repository remains
2021-04-10 14:35:12 +03:00
alexey.lysiuk 30db3a78f6 aedi: do not delete install path when xcode project generation is requested 2021-04-03 12:10:56 +03:00
alexey.lysiuk f4cea9ce31 aedi: delete install directory before making prefix one
upgrade of dependency cannot use its old header or library files anymore
2021-04-02 10:46:54 +03:00
alexey.lysiuk a87e06540d aedi: ability to skip source code operations 2021-03-13 16:53:14 +02:00
alexey.lysiuk 49c5a17853 aedi: support relative paths for build and output 2021-03-02 18:06:27 +02:00
alexey.lysiuk 8717e14b68 aedi: fix source path customization 2021-03-02 18:06:20 +02:00
alexey.lysiuk 09d54f3dca aedi: support relative source path 2021-02-25 16:00:46 +02:00
alexey.lysiuk dde53f6936 aedi: better naming for source paths
* build state's source_path member is the path to store downloaded and checked out source code of all targets, used when calling with --target command line option
* build state's source member is assigned either from --source command line option directly or from --target command line option appended to source_path member
2021-01-17 12:37:35 +02:00
alexey.lysiuk 97868f324a aedi: fix erroneously commented code 2021-01-16 11:55:41 +02:00
alexey.lysiuk 0379e35eef aedi: do not expose target in builder class 2021-01-16 11:54:50 +02:00
alexey.lysiuk 317d276817 aedi: do not set "default" native build path 2021-01-16 11:54:21 +02:00
alexey.lysiuk 4999b2ee4a split build script onto several modules
put all code into new package, build script will use it as a black box
split build state from builder class, and pass state to target methods
place base, main, dependency, special targets into separate files, and put them in own package

This implements #19
2021-01-14 10:34:20 +02:00