Premake
Warning
This feature is experimental and subject to breaking changes. See the Conan stability section for more information.
The Premake
build helper is a wrapper around the command line invocation of Premake. It will abstract the project configuration command.
The helper is intended to be used in the conanfile.py build()
method, to call Premake commands automatically when a package is being built directly by Conan (create, install)
from conan.tools.premake import Premake
from conan.tools.microsoft import MSBuild
class Pkg(ConanFile):
settings = "os", "compiler", "build_type", "arch"
# The VCVars generator might be needed in Windows-MSVC
generators = "VCVars"
def build(self):
p = Premake(self)
p.configure()
# At the moment Premake does not contain .build() method
# report in Github issues your use cases and feedback to request it
build_type = str(self.settings.build_type)
if self.settings.os == "Windows":
msbuild = MSBuild(self)
msbuild.build("HelloWorld.sln")
else:
self.run(f"make config={build_type.lower()}_x86_64")
p = os.path.join(self.build_folder, "bin", build_type, "HelloWorld")
self.run(f'"{p}"')