Jussi Pakkanen
aaae1b2a30
Xcode: handle capturing generators.
2021-04-16 18:14:01 +03:00
Jussi Pakkanen
39f963988b
Xcode: this is what happens when you do not treat command lines as arrays.
2021-04-15 17:21:45 +03:00
Jussi Pakkanen
318d50270c
Xcode: remove some unnecessary dict entries.
2021-04-15 17:21:45 +03:00
Jussi Pakkanen
e18b5f091d
Xcode: add functionality for sources created with a generator.
2021-04-15 17:21:45 +03:00
Jussi Pakkanen
e7ceab7510
Xcode: do not process custom target outputs on targets they are not used in.
2021-04-14 17:25:41 +03:00
Jussi Pakkanen
c92a860c8b
Xcode: add sanity check asserts.
2021-04-14 17:25:41 +03:00
Jussi Pakkanen
96d85d601d
Xcode: fix path of extracted objects in subdirs.
2021-04-14 17:25:41 +03:00
Jussi Pakkanen
bb350aaf6f
Xcode: use correct key for file id lookup.
2021-04-14 17:25:41 +03:00
Jussi Pakkanen
50cf8bcaba
Xcode: can generate object files with generators.
2021-04-11 23:59:22 +03:00
Jussi Pakkanen
9dfd53dc40
Xcode: fix setting up inlude args for source and build dirs.
2021-04-11 23:59:22 +03:00
Jussi Pakkanen
be3efaf1d5
Xcode: fix linking of static libs that link to other libs.
2021-04-11 23:59:22 +03:00
Jussi Pakkanen
05489616fb
Xcode: use common language options like std version.
2021-04-10 20:33:51 +03:00
Jussi Pakkanen
86fb916d33
Xcode: Fix source generation.
2021-04-10 20:33:51 +03:00
Jussi Pakkanen
c9d98e9a98
Xcode: Fix target prefixes and suffixes and conf-time generated sources.
2021-04-09 22:21:38 +03:00
Jussi Pakkanen
82f5d12a56
Xcode: Fix object extraction.
2021-04-09 22:21:38 +03:00
Jussi Pakkanen
f328632fa5
Write include directory names with the correct amount of quoting.
2021-04-09 16:51:42 +03:00
Jussi Pakkanen
9fb0abb754
Write include dirs with absolute paths in the Xcode backend, relative ones do not seem to work.
2021-04-09 16:51:42 +03:00
Jussi Pakkanen
59306c45c5
Fix Xcode targets in subdirs.
2021-04-08 10:22:57 +03:00
Jussi Pakkanen
e759c8b2e9
Remove unneeded variable.
2021-04-08 10:22:57 +03:00
Jussi Pakkanen
fb222f4702
Avoid rebuilding the target list all the time.
2021-04-08 10:22:57 +03:00
Jussi Pakkanen
5614ce4a54
Skip compilers that are not used for a given target.
2021-04-08 10:22:57 +03:00
Jussi Pakkanen
0b50c5705f
Fix shared libs and using one source in multiple targets.
2021-04-07 17:01:55 +03:00
Jussi Pakkanen
3b16e39009
Fix building static libs with the Xcode backend.
2021-04-07 17:01:55 +03:00
Jussi Pakkanen
1dd2bbaa01
LGTM fix.
2021-04-05 16:23:03 +03:00
Jussi Pakkanen
3c3146195b
Use warning args in the Xcode backend.
2021-04-05 15:50:54 +03:00
Jussi Pakkanen
82f7f63932
Use actual build type rather than hardcoding "debug".
2021-04-05 13:20:36 +03:00
Jussi Pakkanen
99a8076b78
Set debug info in the Xcode native way.
2021-04-05 13:09:18 +03:00
Jussi Pakkanen
e5766454d6
Set optimization level in the Xcode native way.
2021-04-05 13:03:51 +03:00
Jussi Pakkanen
6043016a38
Refactor Xcode target generation to its own method.
2021-04-05 12:41:32 +03:00
Jussi Pakkanen
2d30f8d124
Fix LGTM issues.
2021-04-04 21:03:49 +03:00
Jussi Pakkanen
3420957c73
Move constant to module level.
2021-04-04 19:30:36 +03:00
Jussi Pakkanen
bf08bba371
Delete old implementation.
2021-04-04 19:26:54 +03:00
Jussi Pakkanen
c43007408c
Add last few things we skipped.
2021-04-04 19:05:29 +03:00
Jussi Pakkanen
fb70490bd3
Fix all the minor things that got broken.
2021-04-04 18:54:52 +03:00
Jussi Pakkanen
dc9e2d6269
Converted the last bit.
2021-04-04 17:48:03 +03:00
Jussi Pakkanen
3ce0ce86c9
Convert build configuration.
2021-04-04 17:20:22 +03:00
Jussi Pakkanen
a026213145
Convert a few more.
2021-04-04 15:50:47 +03:00
Jussi Pakkanen
7a3fdf70cc
Convert PBXGroup.
2021-04-04 13:40:54 +03:00
Jussi Pakkanen
d78dba08a7
Convert a few more.
2021-04-04 00:32:03 +03:00
Jussi Pakkanen
87f1007ba7
Reduce verbosity.
2021-04-03 23:47:35 +03:00
Jussi Pakkanen
18f718299c
Convert one more object type and some scaffolding.
2021-04-03 23:33:08 +03:00
Jussi Pakkanen
0967800705
Start refactoring the xcode backend by creating proper classes for pbx primitives.
2021-04-03 20:57:40 +03:00
Eli Schwartz
6a0fabc647
mass rewrite of string formatting to use f-strings everywhere
...
performed by running "pyupgrade --py36-plus" and committing the results
2021-03-04 17:16:11 -05:00
Jeff Moguillansky
9226a92fe0
xcode-backend: add implicit includes
...
Move helper functions get_source_dir_include_args and
get_build_dir_include_args to backend base class
2021-02-04 13:05:17 -08:00
Jeff Moguillansky
7fd69cb4c4
xcode-backend: set global link args
2021-02-04 13:05:17 -08:00
Jeff Moguillansky
5d94d161ff
xcode-backend: fix include paths
...
Add project directory as include path
Add include paths from dependencies for all languages (c, c++, objc, objc++)
2021-02-04 17:35:20 +00:00
Jeff Moguillansky
4f8cecca97
build: add function get_build_targets to Build class
...
Add function to Build class to get targets of type BuildTarget
Update xcode backend to call get_build_targets when iterating over targets.
This resolves crash in xcode backend when using custom targets:
AttributeError: ‘CustomTarget’ object has no attribute ‘objects’
2021-01-30 11:30:56 +00:00
Jeff Moguillansky
9eb8b6be28
xcode-backend: fix include paths
...
Add include paths from dependencies
2021-01-28 16:32:21 -08:00
Dylan Baker
23d3b98fc1
split mesonlib into a package
...
Currently mesonlib does some import tricks to figure out whether it
needs to use windows or posix specific functions. This is a little
hacky, but works fine. However, the way the typing stubs are implemented
for the msvcrt and fnctl modules will cause mypy to fail on the other
platform, since the functions are not implemented.
To aleviate this (and for slightly cleaner design), I've split mesonlib
into a pacakge with three modules. A universal module contains all of
the platform agnositc code, a win32 module contains window specific
code, a posix module contains the posix specific code, and a platform
module contains no-op implementations. Then the package's __init__ file
imports all of the universal functions and all of the functions from the
approriate platform module, or the no-op versions as fallbacks. This
makes mypy happy, and avoids `if`ing all over the code to switch between
the platform specific code.
2021-01-23 12:48:29 +01:00
Dylan Baker
e81acbd606
Use a single coredata dictionary for options
...
This patches takes the options work to it's logical conclusion: A single
flat dictionary of OptionKey: UserOptions. This allows us to simplify a
large number of cases, as we don't need to check if an option is in this
dict or that one (or any of 5 or 6, actually).
2021-01-04 12:20:58 -08:00