Dylan Baker
fbad73c939
dependencies: Use a DependencyFactory for threads
...
This lets us make a number of uses of threads safer, because we can use
the threads_factory instead of the ThreadDependency
5 years ago
Dylan Baker
5d630c663c
dependencies: Use a factory for NetCDF
...
This uses a custom factory because that makes more sense here, since we
need logic to decide what pkg-config files to look for
5 years ago
Dylan Baker
a8817a8e68
dependencies: Remove now dead code
...
Mostly this is the metagprogramming that ConfigToolDependency used to
do, but doesn't need anymore.
5 years ago
Dylan Baker
89c67383cc
dependencies: Use a custom factory for shaderc
5 years ago
Dylan Baker
b0f0d30cf3
dependencies: Add a decorator for dependency factory functions
...
This helps make them a bit more self documenting, and remove a bit of
the boilerplate they would otherwise have to each implement.
5 years ago
Dylan Baker
47502f8adf
dependencies: Use DependencyFactory for sdl2
5 years ago
Dylan Baker
0dbe9f6159
dependencies: Use DependencyFactory for gl
5 years ago
Dylan Baker
773cc7b4b0
dependencies: Use DependencyFactory for gpgme
5 years ago
Dylan Baker
69835a7c53
dependencies: Use DependencyFactory for LibGcrypt
5 years ago
Dylan Baker
70d28e4532
dependencies: Use DependencyFactory for libwmf
5 years ago
Dylan Baker
4cc890e70a
dependencies: Use DependencyFactory for cups
5 years ago
Dylan Baker
a1f03881c1
dependencies: Use DependencyFactory for python3
5 years ago
Dylan Baker
309d30a9c2
dependencies: Use DependencyFactory for libpcap
5 years ago
Dylan Baker
bc2bfcacbd
dependencies: Use DependencyFactory for gmock
5 years ago
Dylan Baker
626f73416f
dependencies: Use a DependencyFactory for gtest
5 years ago
Dylan Baker
c17fa3223f
dependencies: Use DependencyFactory for Vulkan
5 years ago
Dylan Baker
29b6d3e63c
dependencies: Use a DependencyFactory for LLVM
5 years ago
Dylan Baker
8a9d6b1ed9
dependencies: Add a sub_dependency_method that takes a list of
...
dependencies
This will be useful for adding dependencies that come from a factory,
and thus are a list.
5 years ago
Dylan Baker
2c844f86f2
dependencies: Add a DependencyFactory class
...
Instead of using dependencies as their own factories, which is rather
odd, lets just add a dedicated DependencyFactory class. This should be
able to take over for a lot of the factory type dependencies really
easily, and reduce the amount of code we have.
5 years ago
Dylan Baker
fd892ad7ce
dependencies: Make Dependency initializer signatures match
...
Currently PkgConfig takes language as a keyword parameter in position 3,
while the others take it as positional in position 2. Because most
dependencies don't actually set a language (they use C style linking),
using a positional argument makes more sense. ExtraFrameworkDependencies
is even more different, and duplicates some arguments from the base
ExternalDependency class.
For later changes I'm planning to make having all of the dependencies
use the same signature is really, really helpful.
5 years ago
Dylan Baker
f85d6cee6a
dependencies/base: Split process_method_kw out of Dependency
...
I want to use this in a new class as well, that doesn't descend from
Dependency.
5 years ago
Daniel Mensinger
d0c7b51693
mintro: use interpreter data for buildsystem-files ( fixes #6390 )
5 years ago
Daniel Mensinger
668610c0d2
backend: refactor: set self.interpreter in the constructor
5 years ago
Dylan Baker
3f8d6af9c2
compilers: Use /Zi instead of /ZI with clang-cl
...
Clang-cl doesn't support /ZI, so we need to use either /Zi or /Z7, which
both do the same thing for clang-cl (though not for msvc)
Fixes #6414
5 years ago
Dylan Baker
0f47ca95c1
compilers: Split ClangCL and MSVC mixins
...
Instead of checking the compiler id inside the VisualStudioLikeCompiler
class, this creates two subclasses that each represent the divergent
behavior of the two compilers
5 years ago
Jussi Pakkanen
7375eaa263
Always disable interpolation for ini parsers.
5 years ago
makise-homura
ee6c2c87fc
Bringing back defines in Elbrus C compiler to simplify environment.py
5 years ago
makise-homura
c910ad4b8f
Fix Sider errors
5 years ago
makise-homura
7ca53e40a3
ObjC/ObjC++ compilers are not available for Elbrus, so don't fail
5 years ago
makise-homura
ca1f7726d5
Remove RTTI option from get_option_compile_args() for Elbrus compiler
5 years ago
makise-homura
7870cc0d91
Add missing functions to Elbrus compiler class
5 years ago
makise-homura
7321cc776a
Fix missing 'defines' argumet for Elbrus compiler
...
...But somehow it still remains in C++ compiler.
5 years ago
Jussi Pakkanen
9e07f8d8e6
Check for bad timestamps that cause eternal configure loops.
5 years ago
Daniel Mensinger
acc6dbfab7
cmake: Add support for --trace-redirect
5 years ago
Daniel Mensinger
3607f50d7f
cmake: Refactor CMakeExecutor and CMakeTraceParser
...
This moves most of the execution code from the CMakeInterpreter
into CMakeExecutor. Also, CMakeTraceParser is now responsible
for determining the trace cmd arguments.
5 years ago
Xavier Claessens
b74ece344f
Support multiple args to message() and warning()
5 years ago
Xavier Claessens
f54f27b1a8
Fix required dependency() not failing when wrap-mode=nofallback
...
When a dependency is required, not found on the system, and its fallback
is disabled with --wrap-mode=nofallback, meson should abort instead of
returning not-found.
5 years ago
Xavier Claessens
b6b4903129
mconf: Recommend using --reconfigure when setting unknown options
...
Fixes : #6477
5 years ago
Xavier Claessens
5c8dbdcd38
wrap: Fix git clone with commit id in revision
...
Fixes : #6505 .
5 years ago
Nirbheek Chauhan
7672cd99c2
compilers: Derive CompilerArgs from collections instead of typing
...
Deriving from typing.MutableSequence does not give us a usable
sequence type on Python 3.5.2.
5 years ago
Nirbheek Chauhan
d8e738f04f
typing: Fix compatibility with Python 3.5.2
...
Explicitly use the type instead of the string 'NotImplemented' which
still works with Python 3.5.2
Fixes https://github.com/mesonbuild/meson/issues/6427
5 years ago
Daniel Mensinger
bc27ebacc9
cmake: Always Add C, CXX if no language is specified ( fixes #6441 )
5 years ago
Jussi Pakkanen
254cb3209d
Set source and build dir envvars when running dist.
5 years ago
Dylan Baker
a55e3434c5
environment: Fix initialization of compilers that don't use a
...
_guess_linker method
Fixes #6448
5 years ago
Nirbheek Chauhan
712b2f08c7
Move git helper out into mesonlib for reuse
...
Reuse the git helper for `meson wrap` and `meson subprojects` so we
don't need to maintain the same git-colors-on-windows workarounds in
multiple places.
5 years ago
Nirbheek Chauhan
da486bfddc
msubprojects: Rename 'git' to 'git_output'
...
No functional changes. Split out from the next commit for ease of
reading.
5 years ago
Nirbheek Chauhan
06dddf2ef0
wrap: Re-set the console mode after calling git
...
`git submodule update --recursive` calls git clone recursively, and on
Windows it will undo the console mode we set in mlog and cause ANSI
colors to stop working. We could set it again only when we call that,
but we will definitely miss other instances where this could happen
in the future and regress.
5 years ago
Nirbheek Chauhan
e962147d8a
wrap: Redirect stdin to DEVNULL when calling git
...
Without this git messes up the console and ANSI colors stop working on
Windows inside cmd.exe.
This broke in https://github.com/mesonbuild/meson/pull/6139 . Also add
the same to all git calls. Missed this when I opened
https://github.com/mesonbuild/meson/pull/6255
5 years ago
Nirbheek Chauhan
f09056f903
wrap: Always use a wrapper for running git
...
We need this for the next commit.
5 years ago
Nirbheek Chauhan
7065cef62f
wrap: Look for git only once at startup
...
No need to repeatedly call `shutil.which`.
5 years ago