aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-09-16Add test case for trying to link with a library made by a custom_targetJon Turney4-0/+55
2018-09-13Move default is_linkable_target method up from BuildTarget to TargetJon Turney1-3/+2
BuildTarget.link() assumes that it can call is_linkable_target() on any objects which are a subclass of Target
2018-09-12Minor typo fixMartin Kelly1-1/+1
2018-09-11Qt: set QT_<MODULE>_LIB defines when using qmake detectionAlexey Rochev1-0/+9
2018-09-11Sprinkle functools.lru_cache() in a few more placesNirbheek Chauhan5-37/+30
This improves the backend generation time for gst-build from 7.4s to 6.6s. This is probably all the low-hanging fruit we can get, further improvements will probably require refactoring, moving to pathlib.Path or reimplementing CompilerArgs: 222045 0.551 0.000 1.324 0.000 compilers.py:666(__iadd__) 3691 0.230 0.000 0.885 0.000 ninjabackend.py:99(write) 233560 0.441 0.000 0.701 0.000 posixpath.py:75(join) 882 0.141 0.000 0.636 0.001 backends.py:509(generate_basic_compiler_args) 256301 0.248 0.000 0.576 0.000 compilers.py:562(_can_dedup) 37369 0.035 0.000 0.466 0.000 compilers.py:652(extend_direct) 74650 0.067 0.000 0.431 0.000 compilers.py:641(append_direct) 158153 0.089 0.000 0.405 0.000 ninjabackend.py:129(<lambda>) 845 0.064 0.000 0.391 0.000 ninjabackend.py:279(get_target_generated_sources) 58161 0.070 0.000 0.317 0.000 backends.py:217(get_target_generated_dir) 216825 0.175 0.000 0.275 0.000 ninjabackend.py:48(ninja_quote) 845 0.058 0.000 0.255 0.000 ninjabackend.py:2289(guess_external_link_dependencies) 845 0.068 0.000 0.239 0.000 backends.py:793(get_custom_target_provided_libraries) 52101 0.030 0.000 0.237 0.000 compilers.py:716(append) 1319326 0.231 0.000 0.231 0.000 {built-in method builtins.isinstance} 1189117 0.229 0.000 0.229 0.000 {method 'startswith' of 'str' objects} 3235 0.102 0.000 0.228 0.000 compilers.py:614(to_native) Note: there are 845 build targets.
2018-09-11Quick Guide add step for python3-pip installgrooveadelic1-1/+1
On Deban, and assuming now on Ubuntu as well, pip3 is only available after installing the python3-pip package. For that case explicitly specified the package during the system installation.
2018-09-11Document version when both_libraries() was added [skip ci]Nirbheek Chauhan1-0/+2
2018-09-11mesonbuild: move subdir generation along link dep generationMarcel Hollerbach2-7/+14
The problem with the earlier position of the generation code was, that the results could not be cached, because the list of all link_deps was overall different. However, it shared a special kind of subsets with other build build targets. Generating the set of subdirs that are required for linking, alongside with the link dependencies brings the possibility of caching this. This reduces the buildting from 1 min. in efl down to 20 sec. And reduces the amount of 30872534 calls down. this saves ~40 sec.
2018-09-11backends: save up the dylib generated namesMarcel Hollerbach1-1/+7
this saves about 6 sec.
2018-09-11build: try to cache the result of the link depsMarcel Hollerbach1-0/+3
this safes in the efl meson build about 20 sec.
2018-09-10Skip some SDL tests when using an OSX framework version.Jussi Pakkanen1-0/+6
2018-09-10Improve windows resource compiler executable selectionJon Turney2-21/+42
Always honour any windres setting in cross-file (we can't be compiling with msvc, but this should apply when cross-compiling using gcc or clang) Always honour WINDRES environment variable Otherwise look for the resource compiler which is part of the same toolset as the C or C++ compiler. Add some commentary on why the conventions for compiled resource file extensions differ between RC and windres Also don't try to report non-existent path when we couldn't find the resource compiler.
2018-09-10Add missing reporting of some methods tried to find the dependencyJon Turney4-0/+16
Make us report 'system' and 'framework' when we tried those methods to locate the dependency.
2018-09-10Fix duplicate PKGCONFIG case in VulkanDependencyJon Turney1-1/+1
A mistake in 82bdf07a
2018-09-10Improve formatting of dependency detailsJon Turney3-6/+12
Also use a more consistent format for qmake details, and adjust a test case which relies on the specific output
2018-09-10hotdoc: Make project_version mandatory as it should always have beenThibault Saunier1-0/+1
2018-09-10hotdoc: Handle IncludeDirs to specify directoriesThibault Saunier1-2/+12
2018-09-10Qt: add main argument to Qt dependency object to link with qtmain library on ↵Alexey Rochev3-30/+65
Windows (#2327)
2018-09-07Add method to check for C/C++ function attributesDylan Baker9-1/+388
It's fairly common on Linux and *BSD platforms to check for these attributes existence, so it makes sense to me to have this checking build into meson itself. Autotools also has a builtin for handling these, and by building them in we can short circuit cases that we know that these don't exist (MSVC). Additionally this adds support for two common MSVC __declspec attributes, dllimport and dllexport. This implements the declspec version (even though GCC has an __attribute__ version that both it and clang support), since GCC and Clang support the MSVC version as well. Thus it seems reasonable to assume that most projects will use the __declspec version over teh __attribute__ version.
2018-09-06Guard against the process redirecting stdout. Closes #3967.Jussi Pakkanen1-0/+3
2018-09-06Try to kill processes even more thoroughly. Closes #4127.Jussi Pakkanen1-1/+12
2018-09-06Merge pull request #4132 from GoaLitiuM/d-manyfixesJussi Pakkanen2-42/+72
D: Various improvements to argument translation
2018-09-06Condense test dirs.Jussi Pakkanen65-13/+13
2018-09-06Make sure static library files are passed properly to the linkerGoaLitiuM1-0/+11
2018-09-06Fix remaining soname and rpath issues on OSXGoaLitiuM1-6/+9
2018-09-06Remove translation of file pathsGoaLitiuM1-5/+0
This would also pass all the source and object files to linker, which is not desirable.
2018-09-06Refactor D argument translation functionGoaLitiuM1-23/+45
2018-09-06Improve D link argument handlingGoaLitiuM2-9/+8
2018-09-05D: Fix linking errors with static D libraries on WindowsGoaLitiuM1-0/+11
2018-09-05D: Fix dub dependency handling on WindowsGoaLitiuM1-11/+12
2018-09-05D: Use the documented syntax for various argumentsGoaLitiuM1-65/+41
2018-09-05Merge pull request #4006 from xclaesse/fatal-warningsXavier Claessens3-3/+18
Add --fatal-meson-warnings command line option
2018-09-04Reference-manual: Clarify fallback dependency types [skip ci]Nirbheek Chauhan1-2/+5
2018-09-04Test + fix for not-found dependency fallback version comparisonNirbheek Chauhan3-2/+16
Fixes: meson.build:6:0: ERROR: Uncomparable version string 'unknown'. This was previously partially fixed in a8694f4b, which only fixed it for cached fallback dependencies.
2018-09-04llvm: fix build flags with older llvm versionsJakub Wilk1-1/+1
Fix fallback code for older (<= 3.8) llvm versions to not be dependent on readdir() order. Fixes #4102
2018-09-04Add --fatal-meson-warnings command line optionXavier Claessens3-3/+18
This makes any warning message printed by meson raise an exception, intended to be used by CI and developpers to easily catch deprecation warnings and other potential issues.
2018-09-03i18n: add release note snippetCorentin Noƫl1-0/+4
2018-09-03i18n: respect variable substitution for the target name when merging ↵Corentin NoĆ«l4-2/+42
translations Previously it wasn't possible to use twice @BASENAME@ as the targets would then be named @BASENAME@_merge
2018-09-03Modernize Python3DependencyJon Turney1-34/+23
Somehow I overlooked this class when adjusting everything else in c59ec874 et seq. Update Python3Dependency so it has a _factory() method which returns a list of constructors, depending on the method: kwarg, which integrates better with the reporting in find_external_dependency() This ensures the return of a PkgConfigDependency object, if the dependency is found with pkgconfig, so we don't have to specifically implement get_pkgconfig_variable() ourselves.
2018-09-03Allow override_find_program to use an executable.Rafael Ɓvila de Espƭndola12-6/+78
With this it is now possible to do foobar = executable('foobar', ...) meson.override_find_program('foobar', foobar) Which is convenient for a project like protobuf which produces both a dependency and a tool. If protobuf is updated to use override_find_program, it can be used as protobuf_dep = dependency('protobuf', version : '>=3.3.1', fallback : ['protobuf', 'protobuf_dep']) protoc_prog = find_program('protoc')
2018-09-03Qt: Allow passing dependency objects to preprocess method (#3470, #3875)Alexey Rochev3-6/+37
2018-09-03wrap: Redirect git's stdin to DEVNULLNirbheek Chauhan1-1/+1
Otherwise, git fiddles with the cmd.exe console's color behaviour and disables it, which causes it to stop interpreting ANSI color codes outputted by meson for colored output. Effectively, as soon as any subproject is initialized, cmd.exe goes nice coloured output to ugly raw ANSI codes.
2018-09-03Merge pull request #4114 from SoapGentoo/gtest-pkgconfigJussi Pakkanen1-11/+70
GTest & GMock pkgconfig fallback
2018-09-03Change ninja.exe download URL [skip ci]Luca Weiss1-1/+1
2018-09-03Update appveyor example [skip ci]Luca Weiss1-13/+38
Also add, how to make meson find Qt5 & Boost
2018-09-03Merge pull request #4084 from FFY00/pr-fix-dub-dependenciesJussi Pakkanen6-29/+120
dub: enhance dependency handling
2018-09-02tests: add dub (failing/85)FFY003-0/+9
2018-09-02Pull in GTest as a dependency of GMockDavid Seifert1-7/+25
* WrapDB already unconditionally includes GTest, and using GMock without GTest is extremely hard and definitely not the default setup.
2018-09-02Prefer pkgconfig for `GMockDependency`David Seifert1-2/+25
* Also bring `main` semantics in line with `GTestDependency`
2018-09-02Prefer pkgconfig for `GTestDependency`David Seifert1-2/+20