summaryrefslogtreecommitdiff
path: root/test cases/linuxlike/5 dependency versions
AgeCommit message (Collapse)Author
2023-04-11fix various spelling issuesJosh Soref
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2021-06-22tests: both_library test improvementsDaniel Mensinger
This switches some `shared_library()` calls to `library()` and adds one new CI matrix entries for -Ddefault_library={static, both}.
2020-07-01Implicit dependency fallback when a subproject wrap or dir existsXavier Claessens
2020-03-06dependency: Verify fallback variable consistencyXavier Claessens
This change made `5 dependency versions` unit test fail because now once a subproject has been configured, the fallback variable is checked to be consistent. So it has to use new subproject because 'somesub' was already configured by previous tests.
2020-03-06Add meson.override_dependency()Xavier Claessens
Similar to meson.override_find_program() but overrides the result of the dependency() function. Also ensure that dependency() always returns the same result when looking for the same dependency, this fixes cases where parts of the project could be using a system library and other parts use the library provided by a subproject.
2019-11-26Fix crash when checking multi version on subproject depXavier Claessens
Also harminize a bit the logged message.
2017-12-22subproject handling: add two testsNiklas Claesson
2017-06-17valgrind: Fix __init__ callNirbheek Chauhan
Adds a test so that this is catched later. Closes https://github.com/mesonbuild/meson/issues/1937
2017-06-09dependencies: Add a new class ExternalDependencyNirbheek Chauhan
This class now consolidates a lot of the logic that each external dependency was duplicating in its class definition. All external dependencies now set: * self.version * self.compile_args and self.link_args * self.is_found (if found) * self.sources * etc And the abstract ExternalDependency class defines the methods that will fetch those properties. Some classes still override that for various reasons, but those should also be migrated to properties as far as possible. Next step is to consolidate and standardize the way in which we call 'configuration binaries' such as sdl2-config, llvm-config, pkg-config, etc. Currently each class has to duplicate code involved with that even though the format is very similar. Currently only pkg-config supports multiple version requirements, and some classes don't even properly check the version requirement. That will also become easier now.
2017-05-09dependencies: Fix two more edge-cases in dependency searchingNirbheek Chauhan
Includes tests for both of them.
2017-05-09Completely overhaul caching of external dependenciesNirbheek Chauhan
The old caching was a mess of spaghetti code layered over pasta code. The new code is well-commented, is clear about what it's trying to do, and uses a blacklist of keyword arguments instead of a whitelist while generating identifiers for dep caching which makes it much more robust for future changes. The only side-effect of forgetting about a new keyword argument would be that the dependency would not be cached unless the values of that keyword arguments were the same in the cached and new dependency. There are also more tests which identify scenarios that were broken earlier.
2017-05-09dependencies: Fix caching of native/cross dependenciesNirbheek Chauhan
All our cached_dep magic was totally useless since we ended up using the same identifier for native and cross deps. Just nuke all this cached_dep code since it is very error-prone and improve the identifier generation instead. For instance, this is broken *right now* with the `type_name` kwarg. Add a bunch of tests to ensure that all this actually works... Closes https://github.com/mesonbuild/meson/issues/1736
2017-02-13Detect Boost libraries primarily with the C++ compiler's find_library.Jussi Pakkanen
2016-12-23Add get_version() method to all dependenciesNirbheek Chauhan
We unconditionally check the version of all dependencies, so without this regen will fail if you use that dependency.
2016-12-03Allow many version conditions for pkg-config depsNirbheek Chauhan
Sometimes we want to restrict the acceptable versions to a list of versions, or a smallest-version + largest-version, or both. For instance, GStreamer's opencv plugin is only compatible with 3.1.0 >= opencv >= 2.3.0
2016-10-14Try using already setup fallback subprojects before using native dependencyThibault Saunier
In the case the main project set a subproject for a dependency another subprojects uses, that other subproject should rather use the first subproject rather that using native dependency. For example in gst-all we set all GStreamer modules as subprojects and, gst-plugins-base is set after gstreamer core, and we want gst-plugins-base to always use GStreamer core from the subproject and not the possibly avalaible native one.
2016-10-14interpreter: Add a type_name method to DependencyHolderThibault Saunier
And remove the InternalDependencyHolder class. In some cases we need to know the type of dependency we are dealing with. For example in GStreamer if the dependency is not an internal one, then we need to get some env var from pkg-config to know where to find some plugins necessary to run some tests.
2016-06-21Add a test for the broken cached version compareNirbheek Chauhan
https://github.com/mesonbuild/meson/pull/610
2016-06-01Add various tests for versioned dependency checkingNirbheek Chauhan
Both pkg-config and subproject-based dependencies Linux-like because we need zlib for the tests to work