alexey.lysiuk
8846d79765
aedi: silence duplicate libraries linker warnings
2024-02-23 13:10:31 +02:00
alexey.lysiuk
bea867a95a
aedi: update copyright years
2024-01-02 10:55:22 +02:00
alexey.lysiuk
acfcef3683
aedi: make mypy linter happy
...
state.py:112: error: Item "None" of "Match[str] | None" has no attribute "group" [union-attr]
2023-12-15 16:40:05 +02:00
alexey.lysiuk
e8d8bba6ab
aedi: apply linker workaround to affected clang version only
...
xcode 15.0 and 15.0.1 have weak symbols compatibility issue, they were released with clang version 1500.0.40.1
the bug was fixed in xcode 15.1 which was shipped with clang version 1500.1.0.2.5
2023-12-15 15:42:03 +02:00
alexey.lysiuk
a64068ac0d
aedi: use version module from packaging
...
distutils has been removed from python 3.12, so it's version module is no longer available in original python distribution
fix #61
2023-11-04 13:07:36 +02:00
alexey.lysiuk
e96041ef05
aedi: add platform agnostic compiler and linker flags
...
set them explicitly for cmake based targets to use them in all checks during configuration step
otherwise, some of cmake checks ignores prefix path for includes and libraries
for example, `check_library_exists()` from sdl2 picks system iconv library without explicit flags set
2023-11-03 13:10:42 +02:00
alexey.lysiuk
4645a58fec
aedi: print source version when building from git repository
2023-03-18 12:17:13 +02:00
alexey.lysiuk
c14705b6cc
aedi: fix error reported by mypy
...
aedi/state.py:209: error: Incompatible return value type (got "Tuple[Optional[str], Any]", expected "Tuple[str, Path]") [return-value]
2023-02-21 09:44:44 +02:00
alexey.lysiuk
9003287503
aedi: add ability to validate minimum os and sdk versions
2023-02-20 11:51:12 +02:00
alexey.lysiuk
69db497c21
aedi: handle source code package without single root directory for entire source code tree
2023-02-20 11:51:12 +02:00
alexey.lysiuk
0710bc1edf
aedi: hide messages about reversed or failed source code patches during dry run
2023-02-19 12:26:25 +02:00
alexey.lysiuk
9084ebffb4
aedi: fix mypy default argument errors
...
error: Incompatible default for argument "..." (default has type "None", argument has type "...") [assignment]
note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
2023-01-05 10:50:15 +02:00
alexey.lysiuk
4bfb07f6eb
aedi: update copyright years
2023-01-01 10:46:34 +02:00
alexey.lysiuk
fac8e1d288
aedi: update flags environment variable via one call
2022-12-31 10:51:41 +02:00
alexey.lysiuk
3e3b1b5835
aedi: add quasi-glib command line option
2022-12-28 12:48:17 +02:00
alexey.lysiuk
7a76fb577b
aedi: fix applying of patches
2022-08-30 16:11:38 +03:00
alexey.lysiuk
efe513ec17
aedi: implement building with static moltenvk
...
this applies to gzdoom and raze targets only
2022-08-22 10:49:48 +03:00
alexey.lysiuk
bda525b49a
aedi: replace usages of legacy subprocess api
...
apply state's environment variables when running an external process
2022-08-21 11:58:00 +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
de48b542be
aedi: update copyright year
2022-01-11 11:43:50 +02:00
alexey.lysiuk
0ec387c33e
aedi: add sdk_version()
method to build state
2021-09-12 10:19:16 +03:00
alexey.lysiuk
59b8b2a7e1
aedi: do not set c/c++ compilers and sdk paths without a platform
...
default pathlib's path means '.' (the current directory) but not an invalid path
2021-09-01 11:42:14 +03:00
alexey.lysiuk
13bd0b413a
aedi: change imports according to isort
2021-08-05 10:12:20 +03:00
alexey.lysiuk
419a8d746c
aedi: use pathlib for compilers and sdk paths
2021-08-05 10:05:29 +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
0961551fd8
aedi: use pathlib module for most of path operations
2021-07-22 09:51:35 +03:00
alexey.lysiuk
8ab1bdd5cb
aedi: use class instead of string for os version
2021-06-25 10:03:53 +03:00
alexey.lysiuk
9393c0559e
aedi: store path to patch directory in build state
2021-06-20 14:45:22 +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
a87e06540d
aedi: ability to skip source code operations
2021-03-13 16:53:14 +02:00
alexey.lysiuk
8250875909
aedi: do git pull if not checking out particular commit
2021-02-18 13:27:35 +02:00
alexey.lysiuk
405d1a3b1f
aedi: fetch from remote repo if source directory exists
2021-02-18 13:26:56 +02:00
alexey.lysiuk
982fe6b371
aedi: ability to checkout non-default branch
2021-02-18 13:21:16 +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
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