Commit graph

47 commits

Author SHA1 Message Date
alexey.lysiuk
29096f6bd3 aedi: set ARFLAGS environment variable 2022-12-30 12:49:53 +02:00
alexey.lysiuk
b48ce185c2 aedi: move single executable C target to base module 2022-09-23 13:48:32 +03:00
alexey.lysiuk
b89ee4e73c aedi: better install customization
`install` command line argument is implicit only when no options are specified, and it needs to be added explicitly otherwise
2022-08-28 09:51:13 +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
7fc549f24d aedi: add descriptions to target class methods 2022-08-18 12:40:52 +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
558129a734 aedi: fix xcode project generation when sdk path is set 2022-07-02 11:00:02 +03:00
alexey.lysiuk
de48b542be aedi: update copyright year 2022-01-11 11:43:50 +02:00
alexey.lysiuk
43e9451e64 aedi: remove unused import from base targets module 2021-09-12 10:36:14 +03:00
alexey.lysiuk
0ec387c33e aedi: add sdk_version() method to build state 2021-09-12 10:19:16 +03:00
alexey.lysiuk
e3289f88ba aedi: do not store absolute paths in object files
cmake generated makefiles pass absolute paths to compiler, -ffile-prefix-map command line option helps to avoid this issue
make target doesn't need this options because it's built in-tree
2021-09-10 12:13:56 +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
68bb3a5443 aedi: do not pass configure options to make
adjust intl target to this change
2021-08-14 13:03:39 +03:00
alexey.lysiuk
fe3b42d709 aedi: make cmake project name matching more strict 2021-08-13 10:19:17 +03:00
alexey.lysiuk
5275d2a2fb aedi: remove leftover from cmake target detection code 2021-08-13 09:58:17 +03:00
alexey.lysiuk
3db28072a3 aedi: strip lib prefix during cmake target detection 2021-08-12 13:00:54 +03:00
alexey.lysiuk
99f53dfd84 aedi: add caching for cmake target detection
it was processing the same cmake file over and over again in order to get project name
2021-08-12 13:00:08 +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
97110d58dc aedi: use path object argument for _process_pkg_config() 2021-08-01 16:14:43 +03:00
alexey.lysiuk
ed79f684b1 aedi: remove /Applications cmake path from environment 2021-07-25 12:56:21 +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
0961551fd8 aedi: use pathlib module for most of path operations 2021-07-22 09:51:35 +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
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
8ab1bdd5cb aedi: use class instead of string for os version 2021-06-25 10:03:53 +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
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
2d398bc718 aedi: ability to keep only one cmake module target 2021-06-02 12:48:58 +03:00
alexey.lysiuk
95305cbbf1 aedi: fix install with altered source path 2021-06-01 10:19:07 +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
d2bf8673d9 aedi: split dependency module
fix #30
2021-05-01 11:54:52 +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
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
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
010af3e93d aedi: make platform header without subdirectories 2021-02-11 15:51:34 +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
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