aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/ui.py
AgeCommit message (Collapse)AuthorFilesLines
2019-06-13tvOS: added support AppleTVOSRoman Shpuntov1-2/+2
2019-06-09Purge `is_cross` and friends without changing user interfacesJohn Ericson1-7/+6
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-05-02Merge pull request #4952 from mensinda/cacheCompilesDylan Baker1-1/+1
Cache compilers.compile() in coredata
2019-04-29Fix builtin variable namesDaniel Mensinger1-4/+4
2019-04-28Disable cache for dependenciesDaniel Mensinger1-1/+1
2019-04-28Print '(cached)' when compiler result was cachedDaniel Mensinger1-1/+1
2019-02-01qt: Only look for a framework on macOS if building for macOSNirbheek Chauhan1-1/+3
When building for iOS, the Qt binaries only contain static libraries and headers. No framework. With this, Meson can successfully compile and link to Qt on iOS
2019-02-01qtdep: Look for QMAKE env var again + sprinkle debugNirbheek Chauhan1-0/+3
We used to look for the QMAKE env var in earlier versions of Meson, start looking for it again.
2019-02-01Rewrite appleframework and extraframework dependency classesNirbheek Chauhan1-4/+4
Instead of only doing a naive filesystem search, also run the linker so that it can tell us whether the -F path specified actually contains the framework we're looking for. Unfortunately, `extraframework` searching is still not 100% correct in the case when since we want to search in either /Library/Frameworks or in /System/Library/Frameworks but not in both. The -Z flag disables searching in those prefixes and would in theory allow this, but then you cannot force the linker to look in those by manually adding -F args, so that doesn't work.
2019-01-31gnustep-config: config tools are lists, not stringsNirbheek Chauhan1-2/+2
More programming errors exposed by not ignoring all exceptions.
2019-01-30qt: Print the full path of the `qmake` binary foundNirbheek Chauhan1-1/+1
2019-01-29pep8 py37Michael Hirsch, Ph.D1-1/+1
2019-01-02Remove cross_info; cross file is parsed up front and discardedJohn Ericson1-14/+10
2018-12-19dependencies/ui: Fix qmake detection when not using cross or native fileDylan Baker1-3/+1
Fixes #4641
2018-12-19dependencies/ui: Fix Qt pkg-config detection on MacOSDylan Baker1-1/+9
Since 0.46.1 pkg-config detection has been broken using the qt from homebrew, due to a bug in homebrew (I think). Tested with qt 5.12.0 on Mojave.
2018-12-19dependencies/ui: Don't require lrelease for qtDylan Baker1-1/+1
We previously didn't require it so we shouldn't silently start doing so. Fixes #4654
2018-11-22dependencies/ui: Fix qt compiler detection when bindir is setDylan Baker1-1/+3
Fixes: #4527
2018-11-14dependencies/ui: Allow qt compilers and qmake to be specified in native fileDylan Baker1-17/+49
2018-11-14replace ExternalProgram.from_cross_info with from_bin_listDylan Baker1-1/+1
This more generic method will also be used to check a config file for binary information.
2018-11-02Fix incorrect checking of build machine for dependency availabilityJon Turney1-2/+2
Don't check the build machine to determine a dependency whose availability is static property of the host machine
2018-09-17Also check wx-config-gtk3 when looking for wxWidgetsJan Niklas Hasse1-1/+1
On Arch Linux the wxgtk3 package doesn't provide wx-config.
2018-09-11Qt: set QT_<MODULE>_LIB defines when using qmake detectionAlexey Rochev1-0/+9
2018-09-10Add missing reporting of some methods tried to find the dependencyJon Turney1-0/+5
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 Turney1-1/+1
Also use a more consistent format for qmake details, and adjust a test case which relies on the specific output
2018-09-10Qt: add main argument to Qt dependency object to link with qtmain library on ↵Alexey Rochev1-28/+58
Windows (#2327)
2018-08-26Comparison with an unknown dependency version should always failJon Turney1-5/+1
Consistently use None to store an unknown dependency version (rather than 'none', 'unknown' or some made up version)
2018-08-26Fix a misplaced bracket in GLDependency constructorJon Turney1-1/+1
This is a typo in 82bdf07a
2018-08-01Consolidate reporting result of a dependency checkJon Turney1-12/+14
If successful, we should identify the method which was successful If successful, we should report the version found (if known) If failing, we should identify the methods we tried Some dependency detectors which had no reporting now gain it There's all kinds of complexities, inconsistencies and special cases hidden in the existing behaviour, e.g.: - boost reports modules requested, and BOOST_ROOT (if set) - gtest/gmock report if they are a prebuilt library or header only - mpi reports the language - qt reports modules requested, and the config tool used or tried - configtool reports the config tool used - llvm reports if missing modules are optional (one per line) We add some simple hooks to allow the dependency object to expose the currently reported information into the consolidated reporting Note that PkgConfigDependency() takes a silent: keyword which is used internallly to suppress reporting. This behaviour isn't needed in find_external_dependency().
2018-08-01Consolidate raising a DependencyException() if required but not-foundJon Turney1-4/+0
This is now done by find_external_dependency() in all cases I can't help but think this perhaps should be in a few more places...
2018-08-01Add a finish_init callback to ConfigToolDependency()Jon Turney1-4/+6
Give ConfigToolDependency() a finish_init callback, so that tool-specific initialization can be called from the constructor, rather than after construction in the factory class. v2: finalize -> finish_init for clarity
2018-08-01Hoist trying several dependency detection methods up to ↵Jon Turney1-102/+99
find_external_dependency() find_external_dependency() now makes and iterates over a list of callables which are constructors with bound arguments for the dependency objects we are going to attempt to make, so we can consolidate reporting on these attempts and handling failures in that function.
2018-07-02FeatureNew: Make all checks subproject-specificNirbheek Chauhan1-2/+0
We now pass the current subproject to every FeatureNew and FeatureDeprecated call. This requires a bunch of rework to: 1. Ensure that we have access to the subproject in the list of arguments when used as a decorator (see _get_callee_args). 2. Pass the subproject to .use() when it's called manually. 3. We also can't do feature checks for new features in meson_options.txt because that's parsed before we know the meson_version from project()
2018-07-01Add a helper for fetching of binaries from cross filesNirbheek Chauhan1-3/+3
A number of cases have to be taken care of while doing this, so refactor it into a helper on ExternalProgram and use it everywhere. 1. Command is a list of len > 1, use it as-is 2. Command is a list of len == 1 (or a string), use as a string 3. If command is an absolute path, use it as-is 4. If command is not an absolute path, search for it
2018-06-20dependencies: Don't assume self.compiler is a C compilerNirbheek Chauhan1-6/+6
All dependencies were using find_library, has_header, get_define, etc on self.compiler assuming that it's a compiler that outputs and consumes C-like libraries. This is not true for D (and in the future, for Rust) since although they can consume C libraries, they do not use the C ecosystem. For such purposes, we now have self.clib_compiler. Nothing uses self.compiler anymore as a result, and it has been removed.
2018-06-10modules/qt: check for un-suffixed moc,rcc,uic on windowsMatthew Waters1-1/+1
The windows Qt installer doesn't ship with suffixed versions of the qt tools.
2018-06-07dependencies/qt: fix debugoptimized builds with qtMatthew Waters1-1/+1
debugoptimized builds building against Qt would ultimately link against both the debug and non-debug msvcrt, ntdll, etc libraries which causes crashes in weird places and is very much not recommended by Microsoft. This changes the selected Qt library(ies) correctly to not uses the debug variants for debugoptimized builds. https://github.com/mesonbuild/meson/pull/3680
2018-06-06dependencies: Take options from coredata instead of cmd lineXavier Claessens1-1/+1
These are the last remaining places where attributes set by argparse for "--builtin-option" are used.
2018-06-06Revert "really switch to qmake automatically if pkg-config fails"Nirbheek Chauhan1-1/+1
This reverts commit 0045d95a16be18092adfb40a9a5df944bcb99aea. <jeandet> nirbheek, it seems 0045d95a16be18092adfb40a9a5df944bcb99aea is really wrong, I've tested on Ubuntu. While writing this line I was thinking that you can't have Qt without a working qmake in the path. On Ubuntu you have that qtchooser stuff which is misleading.
2018-06-01Add 0.42.0 featuresSalamandar1-0/+3
2018-05-27Merge pull request #3491 from jeandet/qt_private_headersJussi Pakkanen1-8/+64
Qt private headers
2018-05-24Typos are fun. [skip ci]Jussi Pakkanen1-1/+1
2018-04-30Added Added Qt's private header support with pkg-configAlexis Jeandet1-10/+11
Just use the same approach than qmake to generate private headers path Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-04-28Fixed private headers on OSX with framework stuffAlexis Jeandet1-27/+48
Removed Qt4 private headers test since it's hard to get Qt4 private headers installed on CI. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-04-28really switch to qmake automatically if pkg-config failsAlexis Jeandet1-1/+1
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-04-28[Qt module] Privates headers: Implemented private_headers optionAlexis Jeandet1-3/+37
This commit adds private_headers option in dependency method which tells QtDependency to add private headers include path to build flags. Since there is no easy way to do this with pkg-config only qmake method supports this, so with private_headers set qmake will always be used. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-03-04Fix "meson 'test cases/frameworks/4 qt master' _build -Dmethod=qmake" on OSXJon Turney1-1/+6
ExtraFrameworkDependency doesn't support any method: other than auto, so handing down the method: used from QtBaseDependency leads to (sic): meson.build:13:2: ERROR: Unsupported detection method: qmake, allowed methods are auto and auto
2018-03-04Fix reporting of Qt detection method used on OSXJon Turney1-1/+2
Ensure that from_text is set to the name of the qmake executable we used, rather than the return value of _framework_detect(), which is always 'None'
2018-03-04Fix QtBaseDependency._framework_detectJon Turney1-1/+4
At the moment, QtBaseDependency._framework_detect sets is_found if at least one module is found. This gives the incorrect result in the case where both found and not-found modules are given. Fix it so it only sets is_found if all the modules given are found.
2018-03-04Fix dependency('qt4|5', method: 'qmake') for CygwinJon Turney1-2/+6
Fix dependency('qt4|5', method: 'qmake') detection when shared library extension isn't .so Note that OSX already has a special case to look for .framework