AutotoolsDeps¶
AutotoolsDeps
是 Autotools 的依赖生成器。它将生成包含环境变量定义的 shell 脚本,Autotools 构建系统可以理解这些脚本。
它可以在 conanfile 中按名称使用
class Pkg(ConanFile):
generators = "AutotoolsDeps"
[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()