PremakeDeps

警告

此功能是实验性的,可能会有破坏性更改。更多信息请参阅 Conan 稳定性 部分。

PremakeDeps 是 Premake 的依赖生成器。此生成器可以在 conanfile 中通过名称使用

conanfile.py
class Pkg(ConanFile):
    generators = "PremakeDeps"
conanfile.txt
[generators]
PremakeDeps

它也可以在 conanfile 的 generate() 方法中完全实例化

from conan import ConanFile
from conan.tools.premake import PremakeDeps

class App(ConanFile):
    settings = "os", "arch", "compiler", "build_type"
    requires = "zlib/1.2.11"

    def generate(self):
        deps = PremakeDeps(self)
        deps.generate()

重要

PremakeDeps 生成器必须与 PremakeToolchain 生成器结合使用,因为它会生成一个 include('conandeps.premake5.lua') 文件,该文件将由工具链自动包含。

生成的文件

PremakeDeps 将生成一个 conandeps.premake5.lua 脚本文件,该文件将由工具链在稍后注入,并在 conanfile.generators_folder 中为每个依赖项生成以下文件

  • conan_<pkg>.premake5.lua:将根据 build_type 和架构包含相应的脚本。

  • conan_<pkg>_vars_<config>.premake5.lua:将主要包含特定依赖项、架构和 build_type 的以下信息

    • includedirs

    • libdirs

    • bindirs

    • sysincludedirs

    • frameworkdirs

    • frameworks

    • libs

    • syslibs

    • defines

    • cxxflags

    • cflags

    • sharedlinkflags

    • exelinkflags

所有这些信息将被加载到 conandeps.premake5.lua 脚本中,并在稍后注入到主 premake 脚本中,从而实现透明且易于使用的 Conan 依赖管理。