Commit graph

44 commits

Author SHA1 Message Date
alexey.lysiuk
81b9e372d3 aedi: output proper action name when building or generating from directory under source control 2024-06-26 10:08:19 +03:00
alexey.lysiuk
bea867a95a aedi: update copyright years 2024-01-02 10:55:22 +02:00
alexey.lysiuk
aef9b58f4a aedi: fix setting minimum os version via command line
this resolves the following error after switching from distutils to packaging module
TypeError: '>=' not supported between instances of 'str' and 'Version'
2023-12-23 10:29:02 +02:00
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