Commit graph

558 commits

Author SHA1 Message Date
alexey.lysiuk
13bd0b413a aedi: change imports according to isort 2021-08-05 10:12:20 +03:00
alexey.lysiuk
8b2ca77ba2 aedi: fix conversion of options to string 2021-08-05 10:06:57 +03:00
alexey.lysiuk
419a8d746c aedi: use pathlib for compilers and sdk paths 2021-08-05 10:05:29 +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
7ade9daeb4 aedi: fix f-string issues 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
1ca6e74187 aedi: enable creation of samplerate cmake modules 2021-08-02 10:54:06 +03:00
alexey.lysiuk
093435bc21 aedi: remove obsolete samplerate patch 2021-08-02 10:53:23 +03:00
alexey.lysiuk
7c195e5a99 aedi: enable creation of freetype cmake modules 2021-08-02 10:37:51 +03:00
alexey.lysiuk
97110d58dc aedi: use path object argument for _process_pkg_config() 2021-08-01 16:14:43 +03:00
alexey.lysiuk
33db0c773f aedi: remove unused import 2021-08-01 16:12:29 +03:00
alexey.lysiuk
d9a357de17 aedi: remove -R switch from brotli .pc files 2021-08-01 16:01:02 +03:00
alexey.lysiuk
4379603efe aedi: update freetype to 2.11.0 2021-08-01 15:48:57 +03:00
alexey.lysiuk
9e2322baea aedi: add harfbuzz target 2021-08-01 15:48:28 +03:00
alexey.lysiuk
82243ffea7 aedi: add brotli target 2021-08-01 13:16:14 +03:00
alexey.lysiuk
0d04ae835f aedi: keep only one lzdoom target, 3.x 2021-08-01 12:43:57 +03:00
alexey.lysiuk
a29a4de6f4 aedi: add cmake build target 2021-07-31 12:10:15 +03:00
alexey.lysiuk
34203315a5 aedi: update download-cmake target to 3.21.1 2021-07-31 11:00:23 +03:00
alexey.lysiuk
ed79f684b1 aedi: remove /Applications cmake path from environment 2021-07-25 12:56:21 +03:00
alexey.lysiuk
99b556d4c1 aedi: use cmake 3.21.0 in its download target 2021-07-25 12:52:47 +03:00
alexey.lysiuk
d11d4f3b56 aedi: remove executable probing from download-cmake target 2021-07-25 12:43:36 +03:00
alexey.lysiuk
9cf0788e83 aedi: do not run download-cmake target automatically 2021-07-25 12:39:48 +03:00
alexey.lysiuk
aa6f778f9d aedi: update mpg123 to 1.28.2 2021-07-25 12:06:02 +03:00
alexey.lysiuk
508f50fbdd aedi: simplify condition in target filter for cmake modules 2021-07-25 12:04:58 +03:00
alexey.lysiuk
92bb063a74 aedi: target filter for cmake modules allows hyphen in target names 2021-07-25 12:04:19 +03:00
alexey.lysiuk
3df0e9dc2b aedi: add detection to zip target 2021-07-22 09:57:02 +03:00
alexey.lysiuk
85ab6c4706 aedi: add detection to unrar target 2021-07-22 09:55:20 +03:00
alexey.lysiuk
0961551fd8 aedi: use pathlib module for most of path operations 2021-07-22 09:51:35 +03:00
alexey.lysiuk
a620563ee3 aedi: update fluidsynth to 2.2.2 2021-07-15 09:46:20 +03:00
alexey.lysiuk
04735a5419 aedi: add unrar target 2021-07-04 12:40:45 +03:00
alexey.lysiuk
4bc8050cf6 aedi: simplify zip installation 2021-07-04 12:40:20 +03:00
alexey.lysiuk
d1764b0b00 aedi: make glibconfig.h a per-platform header 2021-07-04 12:39:07 +03:00
alexey.lysiuk
793c8e4d95 aedi: update glib to 2.68.3 2021-07-04 12:38:35 +03:00
alexey.lysiuk
29053e25d6 aedi: add p7zip target 2021-07-04 12:37:29 +03:00
alexey.lysiuk
9fba5f414c aedi: update ffi to 3.4.2 2021-07-03 15:53:59 +03:00
alexey.lysiuk
453f802144 aedi: handle pcre-config creation 2021-07-03 15:49:16 +03:00
alexey.lysiuk
2c7c7937f3 aedi: update pcre to 8.45 2021-07-03 15:43:43 +03:00
alexey.lysiuk
2a8fb6a37a aedi: update meson to 0.58.1
rewrite zipapp creation using filter
2021-07-03 15:39:16 +03:00
alexey.lysiuk
5a5cbca6b9 aedi: update moltenvk to 1.1.4 2021-06-29 11:48:16 +03:00
alexey.lysiuk
dbfccd9c35 aedi: add slade target, stable branch only 2021-06-28 10:55:35 +03:00
alexey.lysiuk
d5fe8eda9a aedi: update wxwidgets to 3.1.5 2021-06-28 10:54:12 +03:00
alexey.lysiuk
62b6b34b6e aedi: add target's ability to validate minimum sdk versions 2021-06-28 10:51:47 +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
5ca6c4bc4d aedi: add target to download cmake binary package 2021-06-27 15:24:47 +03:00
alexey.lysiuk
5f59768937 aedi: update zlib-ng to 2.0.5 2021-06-27 10:08:38 +03:00
alexey.lysiuk
a6cebb7313 aedi: wxwidgets 3.0.5.1 target
it's incomplete (at least wx-config should be patched) because of missing webview library when building for arm64
target needs to be upgraded to the latest development version 3.1.x as stable 3.0.x doesn't offer webview on arm64
2021-06-26 10:29:02 +03:00
alexey.lysiuk
d4bfcb7a15 aedi: add zip target 2021-06-26 10:15:41 +03:00
alexey.lysiuk
34c9aa6e53 aedi: prepend prefix bin path to environment variable 2021-06-25 10:05:55 +03:00
alexey.lysiuk
2e58efc866 aedi: add target's ability to validate minimum os versions 2021-06-25 10:05:15 +03:00
alexey.lysiuk
88dade9121 aedi: add constants for minimum OS versions 2021-06-25 10:04:38 +03:00
alexey.lysiuk
8ab1bdd5cb aedi: use class instead of string for os version 2021-06-25 10:03:53 +03:00
alexey.lysiuk
dda8dd22d1 aedi: add freeimage target 2021-06-23 10:18:47 +03:00
alexey.lysiuk
7a5bf788e2 aedi: add sfml target 2021-06-23 10:15:58 +03:00
alexey.lysiuk
a7adc9f912 aedi: add expat target 2021-06-23 10:14:07 +03:00
alexey.lysiuk
88eef4b9d3 aedi: add lua target 2021-06-23 10:12:23 +03:00
alexey.lysiuk
c56cd132ef aedi: add ftgl target 2021-06-22 17:24:13 +03:00
alexey.lysiuk
21c2dff63d aedi: add glew target 2021-06-22 17:21:15 +03:00
alexey.lysiuk
c23ade9bf8 aedi: add freetype-config 2021-06-20 14:46:05 +03:00
alexey.lysiuk
9393c0559e aedi: store path to patch directory in build state 2021-06-20 14:45:22 +03:00
alexey.lysiuk
2a21f052f0 aedi: remove obsolete jpeg-turbo .pc file processing 2021-06-20 14:44:40 +03:00
alexey.lysiuk
829810e05e aedi: simplify dumb .pc file processing 2021-06-20 14:44:18 +03:00
alexey.lysiuk
74e4a4810e aedi: enable cmake module for webp 2021-06-20 14:43:40 +03:00
alexey.lysiuk
76f9cae583 aedi: improve cmake import target filtering
* strict target name matching
* support two kinds of cmake module filename
2021-06-20 14:43:17 +03:00
alexey.lysiuk
2cc813eac6 aedi: update webp to 1.2.0 2021-06-19 13:12:30 +03:00
alexey.lysiuk
4249659fb4 aedi: add tiff target 2021-06-19 13:12:30 +03:00
alexey.lysiuk
5c697333f5 aedi: add zstd target 2021-06-19 11:59:25 +03:00
alexey.lysiuk
fd01e0541b aedi: add lzma target 2021-06-19 11:40:17 +03:00
alexey.lysiuk
3a70d096ae rename flac cmake patch 2021-06-19 11:21:06 +03:00
alexey.lysiuk
20963f40ec aedi: reorder fmt and freetype targets 2021-06-19 10:56:56 +03:00
alexey.lysiuk
f1ba61ebe0 aedi: update mpg123 to 1.28.0 2021-06-12 12:57:03 +03:00
alexey.lysiuk
36333cff13 aedi: update zlib-ng to 2.0.4 2021-06-12 12:40:43 +03:00
alexey.lysiuk
f44fe5a700 aedi: use cmake to build png 2021-06-07 09:56:53 +03:00
alexey.lysiuk
87dd157f0e aedi: unify .pc file and config shell script patching implementation 2021-06-07 09:56:33 +03:00
alexey.lysiuk
02f4bd971f aedi: rename function to update config shell script 2021-06-07 09:53:34 +03:00
alexey.lysiuk
6159a1b6e3 aedi: use cmake to build sdl2_ttf 2021-06-06 13:30:40 +03:00
alexey.lysiuk
eaa0257b2e aedi: patch linker flags in openal cmake module 2021-06-06 13:09:01 +03:00
alexey.lysiuk
5cae91d01a aedi: workaround devilutionx compilation issue 2021-06-05 13:04:03 +03:00
alexey.lysiuk
f8935b4f1d aedi: improve sdl2 cmake files patching 2021-06-05 12:07:54 +03:00
alexey.lysiuk
d36368a3a0 aedi: add fmt target 2021-06-05 11:57:04 +03:00
alexey.lysiuk
b5878b43db aedi: patch linker flags in sdl2 cmake module 2021-06-04 09:51:19 +03:00
alexey.lysiuk
21bf421b93 aedi: update ogg to 1.3.5 2021-06-04 09:43:22 +03:00
alexey.lysiuk
8cc2daeba0 aedi: remove extra mpg123 cmake module targets 2021-06-02 12:53:03 +03:00
alexey.lysiuk
6df43a5598 aedi: remove extra flac cmake module targets using common method 2021-06-02 12:53:03 +03:00
alexey.lysiuk
2d398bc718 aedi: ability to keep only one cmake module target 2021-06-02 12:48:58 +03:00
alexey.lysiuk
c9d0b458e2 aedi: use cmake to build opus 2021-06-02 12:12:03 +03:00
alexey.lysiuk
0891ad59f7 aedi: use cmake to build flac 2021-06-02 11:14:33 +03:00
alexey.lysiuk
3e321a61e7 aedi: use cmake to build mpg123 2021-06-01 12:51:30 +03:00
alexey.lysiuk
95305cbbf1 aedi: fix install with altered source path 2021-06-01 10:19:07 +03:00
alexey.lysiuk
f6f6aa13ed aedi: make patching explicit 2021-06-01 10:18:38 +03:00
alexey.lysiuk
ffbd9fb1c5 aedi: use cmake to build vorbis 2021-05-31 11:54:51 +03:00
alexey.lysiuk
033959d514 aedi: use direct urls for xiph libraries
python does not support TLS 1.3 yet which is forced by https://downloads.xiph.org
2021-05-31 11:46:13 +03:00
alexey.lysiuk
e0b119f163 aedi: use cmake to build ogg 2021-05-31 11:42:51 +03:00
alexey.lysiuk
1266884f58 aedi: force common variables in .pc files
exec_prefix, includedir, libdir should no longer contain full paths
2021-05-31 11:42:12 +03:00
alexey.lysiuk
9c57ad5698 aedi: update zmusic to 1.1.8
[skip ci]
2021-05-22 18:43:04 +03:00
alexey.lysiuk
bc866fdd9d aedi: add expect macro to improve test failure report
this allows to make tests a bit more concise
2021-05-17 10:28:38 +03:00
alexey.lysiuk
20b29b40dc aedi: print name of currently running test 2021-05-17 10:21:11 +03:00
alexey.lysiuk
ab15fd07a6 aedi: update zlib-ng to 2.0.3 2021-05-16 10:08:34 +03:00
alexey.lysiuk
1c73506009 aedi: treat tests source code as c++17 2021-05-16 10:05:11 +03:00
alexey.lysiuk
906af57c00 aedi: update mpg123 to 1.27.2 2021-05-16 09:56:00 +03:00
alexey.lysiuk
0880fe4270 aedi: update mpg123 to 1.27.0 2021-05-16 09:53:17 +03:00
alexey.lysiuk
02503e0d99 aedi: update zmusic to 1.1.7 2021-05-13 09:54:21 +03:00
alexey.lysiuk
0643f490e3 aedi: update fluidsynth to 2.2.1 2021-05-09 10:49:55 +03:00
alexey.lysiuk
d2bf8673d9 aedi: split dependency module
fix #30
2021-05-01 11:54:52 +03:00
alexey.lysiuk
3f48763880 aedi: update moltenvk to 1.1.3 2021-04-28 11:57:17 +03:00
alexey.lysiuk
40e21d5ba6 aedi: update jpeg-turbo to 2.1.0 2021-04-24 12:18:32 +03:00
alexey.lysiuk
e057a6a44c aedi: fix freetype target class name 2021-04-24 12:18:32 +03:00
alexey.lysiuk
21f9274a90 aedi: fix detection of lzdoom targets 2021-04-10 14:37:34 +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
cac1d5cf8c aedi: enable vulkan support for raze 2021-04-09 22:06:48 +03:00
alexey.lysiuk
66b750cde6 aedi: extract zdoom base target with vulkan support 2021-04-09 22:06:19 +03:00
alexey.lysiuk
68f2e20f50 aedi: update fluidsynth to 2.2.0 2021-04-03 12:10:56 +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
197d5c1aaf aedi: remove obsolete search prefix flag
it became useless after f4cea9c
2021-04-02 10:50:17 +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
2406c98109 aedi: update vpx to 1.10.0 2021-03-30 15:14:07 +03:00
alexey.lysiuk
36da3fe963 aedi: ability to avoid prefix addition to search paths
prefix directory may not be added to search path via -I ... and -L ... command line options
this helps to upgrade dependencies, so they won't use old header or library files
2021-03-30 15:11:18 +03:00
alexey.lysiuk
296f3cc8f3 aedi: updated zlib-ng to 2.0.2 2021-03-29 11:53:20 +03:00
alexey.lysiuk
3d909888f9 aedi: updated mpg123 to 1.26.5 2021-03-27 13:23:25 +02:00
alexey.lysiuk
e480083cb6 aedi: remove zlib target 2021-03-20 15:27:48 +02:00
alexey.lysiuk
6e1e476519 aedi: add zlib-ng target 2021-03-20 15:26:17 +02:00
alexey.lysiuk
4c6910dd86 aedi: use gmake instead of system's make
CMake chooses gmake by default, and setting CMAKE_MAKE_PROGRAM=/usr/bin/make does not disable this behavior completely
overlapping of gmake and make caused fluidsynth build failures

fix #24
2021-03-16 13:23:48 +02:00
alexey.lysiuk
4edad0b8b3 aedi: update fluidsynth to 2.1.8 2021-03-16 09:46:16 +02:00
alexey.lysiuk
1daa433927 aedi: update zmusic to 1.1.6 2021-03-14 22:15:13 +02:00
alexey.lysiuk
a87e06540d aedi: ability to skip source code operations 2021-03-13 16:53:14 +02:00
alexey.lysiuk
a11b7fcc20 aedi: add dsda-doom target 2021-03-10 10:41:10 +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
88601881e0 aedi: update zmusic to 1.1.5 2021-03-01 11:51:14 +02:00
alexey.lysiuk
d369e37a5f aedi: remove devilutionx-hellfire target
the current version of devilutionx is always built with hellfire support
2021-02-28 10:43:46 +02:00
alexey.lysiuk
09d54f3dca aedi: support relative source path 2021-02-25 16:00:46 +02:00
alexey.lysiuk
9a1d0e0227 aedi: update moltenvk to 1.1.2 2021-02-23 09:49:57 +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
ac324a8b06 aedi: use correct branch in lzdoom 3.x target 2021-02-18 13:21:46 +02:00
alexey.lysiuk
982fe6b371 aedi: ability to checkout non-default branch 2021-02-18 13:21:16 +02:00
alexey.lysiuk
010af3e93d aedi: make platform header without subdirectories 2021-02-11 15:51:34 +02:00
alexey.lysiuk
f084b80259 aedi: update openal to 1.21.1 2021-02-05 10:02:31 +02:00
alexey.lysiuk
c1db9a3a03 aedi: add modern lzdoom target 2021-02-01 10:44:38 +02:00
alexey.lysiuk
27c2d5d6e0 aedi: rename lzdoom target to lzdoom3 2021-02-01 10:44:05 +02:00
alexey.lysiuk
d4933137d1 aedi: update fluidsynth to 2.1.7 2021-01-30 12:58:45 +02:00
alexey.lysiuk
a69bdbe929 aedi: add devilutionx hellfire target 2021-01-26 15:54:10 +02:00
alexey.lysiuk
379891b09f aedi: update sndfile to 1.0.31 2021-01-25 11:31:03 +02:00
alexey.lysiuk
5c7187bd50 aedi: switch samplerate target to cmake 2021-01-25 11:29:57 +02:00
alexey.lysiuk
384e30dee5 aedi: update samplerate to 0.2.1 2021-01-25 11:29:14 +02:00
alexey.lysiuk
45cf6ee515 aedi: update instpatch to 1.1.6 2021-01-24 11:46:20 +02:00
alexey.lysiuk
1e2ee9c0df aedi: open generated xcode project via cmake 2021-01-22 15:00:20 +02:00
alexey.lysiuk
dfdf48acc9 aedi: use proper environment in cmake target 2021-01-22 14:58:05 +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
35dc23a611 aedi: disallow xcode mode for special targets 2021-01-17 12:27:52 +02:00
alexey.lysiuk
e84f097385 aedi: implement dependency testing inside package 2021-01-16 15:23:14 +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