Commit Graph

562 Commits

Author SHA1 Message Date
alexey.lysiuk c78ffda005 aedi: disable jpeg-turbo shared libs
previously, ENABLE_SHARED=NO was set for all cmake targets
2021-08-10 10:08:52 +03:00
alexey.lysiuk 0999c82b44 aedi: add wadext target 2021-08-08 13:09:38 +03:00
alexey.lysiuk 15e9765a75 aedi: fix slade compilation flags 2021-08-07 15:57:32 +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 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