AutotoolsDeps¶
AutotoolsDeps
是 Autotools 的依赖生成器。它将生成包含 autotools 构建系统可以理解的环境变量定义的 shell 脚本。
它可以通过名称在 conanfile 中使用
conanfile.py¶
class Pkg(ConanFile):
generators = "AutotoolsDeps"
conanfile.txt¶
[generators]
AutotoolsDeps
它也可以在 conanfile 的 generate()
方法中完全实例化
from conan import ConanFile
from conan.tools.gnu import AutotoolsDeps
class App(ConanFile):
settings = "os", "arch", "compiler", "build_type"
def generate(self):
tc = AutotoolsDeps(self)
tc.generate()
生成的文件¶
它将生成文件 conanautotoolsdeps.sh
或 conanautotoolsdeps.bat
$ conan install conanfile.py # default is Release
$ source conanautotoolsdeps.sh
# or in Windows
$ conanautotoolsdeps.bat
这些启动器将定义聚合变量 CPPFLAGS
、LIBS
、LDFLAGS
、CXXFLAGS
、CFLAGS
,这些变量累积所有依赖信息,包括传递依赖,带有类似 -I<path>
、-L<path>
等标志。
目前,仅生成 requires
信息,此生成器尚不管理 tool_requires
信息。
自定义¶
要修改计算值,您可以访问返回 Environment 类的 .environment
属性。
from conan import ConanFile
from conan.tools.gnu import AutotoolsDeps
class App(ConanFile):
settings = "os", "arch", "compiler", "build_type"
def generate(self):
tc = AutotoolsDeps(self)
tc.environment.remove("CPPFLAGS", "undesired_value")
tc.environment.append("CPPFLAGS", "var")
tc.environment.define("OTHER", "cat")
tc.environment.unset("LDFLAGS")
tc.generate()