Prefer pkgconfig for `GTestDependency`
This commit is contained in:
parent
3d86a24b55
commit
0aa973777f
|
@ -15,14 +15,14 @@
|
||||||
# This file contains the detection logic for external dependencies useful for
|
# This file contains the detection logic for external dependencies useful for
|
||||||
# development purposes, such as testing, debugging, etc..
|
# development purposes, such as testing, debugging, etc..
|
||||||
|
|
||||||
|
import functools
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from .. import mlog
|
|
||||||
from .. import mesonlib
|
from .. import mesonlib
|
||||||
from ..mesonlib import version_compare, stringlistify, extract_as_list
|
from ..mesonlib import version_compare, stringlistify, extract_as_list
|
||||||
from .base import (
|
from .base import (
|
||||||
DependencyException, ExternalDependency, PkgConfigDependency,
|
DependencyException, DependencyMethods, ExternalDependency, PkgConfigDependency,
|
||||||
strip_system_libdirs, ConfigToolDependency,
|
strip_system_libdirs, ConfigToolDependency,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -80,6 +80,24 @@ class GTestDependency(ExternalDependency):
|
||||||
else:
|
else:
|
||||||
return 'building self'
|
return 'building self'
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _factory(cls, environment, kwargs):
|
||||||
|
methods = cls._process_method_kw(kwargs)
|
||||||
|
candidates = []
|
||||||
|
|
||||||
|
if DependencyMethods.PKGCONFIG in methods:
|
||||||
|
pcname = 'gtest_main' if kwargs.get('main', False) else 'gtest'
|
||||||
|
candidates.append(functools.partial(PkgConfigDependency, pcname, environment, kwargs))
|
||||||
|
|
||||||
|
if DependencyMethods.SYSTEM in methods:
|
||||||
|
candidates.append(functools.partial(GTestDependency, environment, kwargs))
|
||||||
|
|
||||||
|
return candidates
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_methods():
|
||||||
|
return [DependencyMethods.PKGCONFIG, DependencyMethods.SYSTEM]
|
||||||
|
|
||||||
|
|
||||||
class GMockDependency(ExternalDependency):
|
class GMockDependency(ExternalDependency):
|
||||||
def __init__(self, environment, kwargs):
|
def __init__(self, environment, kwargs):
|
||||||
|
|
Loading…
Reference in New Issue