Commit graph

61 commits

Author SHA1 Message Date
alexey.lysiuk
703b33e6ae aedi: support explicit module paths to keep cmake targets 2023-07-20 12:10:14 +03:00
alexey.lysiuk
2d47d70110 aedi: support keeping of cmake module targets without namespace 2023-07-20 12:09:06 +03:00
alexey.lysiuk
477a2c88be aedi: update module target handling to the current version of cmake
`_IMPORT_CHECK_TARGETS` and `_IMPORT_CHECK_FILES_FOR_...` were replaced with `_cmake_import_check_targets` and `_cmake_import_check_files_for_...` in cmake 3.24.0, see 59cc92085e
2023-04-04 13:07:16 +03:00
alexey.lysiuk
299731c8e2 aedi: support xcode project generation in meson base target 2023-03-30 16:38:07 +03:00
alexey.lysiuk
22df46033f aedi: support options in meson base target 2023-03-28 13:25:02 +03:00
alexey.lysiuk
679396ec34 aedi: handle verbose mode in meson base target 2023-03-28 13:23:08 +03:00
alexey.lysiuk
845f0fe19a aedi: preferred way to launch meson commands
* use setup command explicitly at configure step
* invoke meson executable directly at every step
2023-03-28 13:22:33 +03:00
alexey.lysiuk
4b129332af aedi: add base meson target 2023-03-27 11:01:04 +03:00
alexey.lysiuk
7dcef1dca4 aedi: BuildTarget.update_text_file() restores modification time after write
the primary reason for this change is to avoid update of files at build step when these files were created at configuration step
2023-03-22 11:54:15 +02:00
alexey.lysiuk
06c741fbc1 aedi: BuildTarget.update_text_file() writes to disk only when content is changed 2023-03-22 11:50:17 +02:00
alexey.lysiuk
66663bf51e aedi: fix timestamp only differences in static libraries
this fixes #55
2023-02-12 09:54:51 +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
69aa725cb8 aedi: remove os version and sdk from build target 2023-01-01 10:47:03 +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
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