summaryrefslogtreecommitdiff
path: root/mesonbuild/backend/xcodebackend.py
AgeCommit message (Collapse)Author
2021-04-04Fix LGTM issues.Jussi Pakkanen
2021-04-04Move constant to module level.Jussi Pakkanen
2021-04-04Delete old implementation.Jussi Pakkanen
2021-04-04Add last few things we skipped.Jussi Pakkanen
2021-04-04Fix all the minor things that got broken.Jussi Pakkanen
2021-04-04Converted the last bit.Jussi Pakkanen
2021-04-04Convert build configuration.Jussi Pakkanen
2021-04-04Convert a few more.Jussi Pakkanen
2021-04-04Convert PBXGroup.Jussi Pakkanen
2021-04-04Convert a few more.Jussi Pakkanen
2021-04-03Reduce verbosity.Jussi Pakkanen
2021-04-03Convert one more object type and some scaffolding.Jussi Pakkanen
2021-04-03Start refactoring the xcode backend by creating proper classes for pbx ↵Jussi Pakkanen
primitives.
2021-03-04mass rewrite of string formatting to use f-strings everywhereEli Schwartz
performed by running "pyupgrade --py36-plus" and committing the results
2021-02-04xcode-backend: add implicit includesJeff Moguillansky
Move helper functions get_source_dir_include_args and get_build_dir_include_args to backend base class
2021-02-04xcode-backend: set global link argsJeff Moguillansky
2021-02-04xcode-backend: fix include pathsJeff Moguillansky
Add project directory as include path Add include paths from dependencies for all languages (c, c++, objc, objc++)
2021-01-30build: add function get_build_targets to Build classJeff Moguillansky
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-28xcode-backend: fix include pathsJeff Moguillansky
Add include paths from dependencies
2021-01-23split mesonlib into a packageDylan Baker
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-04Use a single coredata dictionary for optionsDylan Baker
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).
2020-10-04Fixed using files object in subdir with xcode backendOskar Sigvardsson
Fixes bug #589. When generating string from file object, it didn't take subdir into account.
2020-01-28backend: refactor: set self.interpreter in the constructorDaniel Mensinger
2019-10-18xcode 64 bit for catalina [skip ci]Michael Hirsch, Ph.D
2019-06-30xcodebackend: Fix iterating compilers after host/build changesDylan Baker
Fixes #5570
2019-06-09Purge `is_cross` and friends without changing user interfacesJohn Ericson
In most cases instead pass `for_machine`, the name of the relevant machines (what compilers target, what targets run on, etc). This allows us to use the cross code path in the native case, deduplicating the code. As one can see, environment got bigger as more information is kept structured there, while ninjabackend got a smaller. Overall a few amount of lines were added, but the hope is what's added is a lot simpler than what's removed.
2019-04-29Fixed unnecessary .items()Daniel Mensinger
2019-04-29Fix unused variables warningsDaniel Mensinger
2019-04-25Don't use len() to test for container emptinessDylan Baker
I ran the numbers once before (it's in the meson history) but it's *much* faster to *not* use len for testing if a container is empty or not.
2019-02-24xcode backend: Add target dependency link argsDavid Vanderson
2018-10-08Pass arguments from in xcode projectsGuillermo Ignacio Enriquez Gutierrez
2018-10-08Xcode project now supports assembly filesGuillermo Ignacio Enriquez Gutierrez
2018-10-01Fix Xcode backend: Add build dir to SYSTEM_HEADER_SEARCH_PATHS so generated ↵Guillermo Ignacio Enriquez Gutierrez
headers can be included/imported in sources
2018-09-25Fix Xcode backend: support for precompiled headers. Only one header per ↵Guillermo Ignacio Enriquez Gutierrez
target is supported
2018-09-24Partially fix targets that use precompiled header with --backend=xcode. ↵Guillermo Ignacio Enriquez Gutierrez
Various compiled headers are not working yet [skip ci]
2018-09-24Sort some objects before writing as Xcode expects [skip ci]Guillermo Ignacio Enriquez Gutierrez
2018-09-19Fix `build --backend=xcode` (#4220)Guillermo Ignacio Enriquez Gutierrez
* Fix exception when running * Fix xcode project typos, indentation and other minor aesthetics diffs * Use tab code \t instead of real tab
2018-03-12Fix shared library building on xcode.Jukka Laurila
2018-03-09Fix xcode backend to run "meson test" instead of the nonexistent meson_test.py.Jukka Laurila
2018-03-03Fix flake8 'imported but unused' reportsJon Turney
$ flake8 | grep F401 ./meson.py:17:1: F401 'mesonbuild.mesonlib' imported but unused ./meson.py:18:1: F401 'locale' imported but unused ./run_unittests.py:24:1: F401 'sys' imported but unused ./mesonbuild/minit.py:2:1: F401 'pyclbr.Function' imported but unused ./mesonbuild/minit.py:18:1: F401 'os' imported but unused ./mesonbuild/backend/vs2010backend.py:15:1: F401 'sys' imported but unused ./mesonbuild/backend/xcodebackend.py:19:1: F401 'sys' imported but unused ./mesonbuild/dependencies/ui.py:20:1: F401 'shutil' imported but unused ./mesonbuild/modules/python3.py:15:1: F401 'sys' imported but unused ./mesonbuild/modules/unstable_icestorm.py:15:1: F401 '..compilers' imported but unused ./mesonbuild/modules/unstable_icestorm.py:15:1: F401 '..mlog' imported but unused ./test cases/common/98 gen extra/srcgen3.py:3:1: F401 'os' imported but unused
2018-01-30Use os.path: basename() and dirname() instead of split()Aleksey Filippov
According to Python documentation[1] dirname and basename are defined as follows: os.path.dirname() = os.path.split()[0] os.path.basename() = os.path.split()[1] For the purpose of better readability split() is replaced by appropriate function if only one part of returned tuple is used. [1]: https://docs.python.org/3/library/os.path.html#os.path.split
2017-11-21Review fixes.Jussi Pakkanen
2017-11-20Replaced sys.executable use with the mesonlib equivalent.Jussi Pakkanen
2017-07-16Removed consecutive identical variable assignments.Jussi Pakkanen
2017-05-29Whitespace tweaks to reduce Flake8 warningsAlistair Thomas
2017-05-23xcode-backend framework fixesblackbox
- frameworks-per-target ( each needs its own uid )
2017-05-23codestyleblackbox
2017-05-23remove debug-markerblackbox
2017-05-23XCode frameworks supportblackbox
- supported as "Link with Libraries". - Frameworks added as a group to the project - no need to specify custom linker flags anymore, xcodeproj works just like ninja example mason.build file : dep_main += [dependency('appleframeworks', modules : ['Foundation', 'AppKit', 'IOKIT', 'QuartzCore', 'OpenGL', 'GLUT', 'OpenAL'], required : true)]
2017-05-04Use American English - 'ise' -> 'ize' where applicablePeter Hutterer