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