premake
Warning
This is an experimental feature subject to breaking changes in future releases.
This is the reference page for premake
generator.
Go to Integrations/premake if you want to learn how to integrate your project or recipes with Premake.
Generates a file name conanbuildinfo.premake.lua that can be used for your Premake builds (both Premake 4 and 5 are supported).
The file contains:
N groups of variables, one group per require, declaring the same individual values: include dirs, libs, bin dirs, defines, etc.
One group of global variables with aggregated values for all requirements.
Helper functions to setup the settings in your configuration.
Variables
Package declared variables
For each requirement conanbuildinfo.premake.lua file declares the following variables.
XXX
is the name of the require. e.g. “zlib” for zlib/1.2.11@lasote/stable
requirement:
NAME |
VALUE |
---|---|
conan_includedirs_XXX |
Headers’s folders (default {CONAN_XXX_ROOT}/include) |
conan_libdirs_XXX |
Library folders (default {CONAN_XXX_ROOT}/lib) |
conan_bindirs_XXX |
Binary folders (default {CONAN_XXX_ROOT}/bin) |
conan_libs_XXX |
Library names to link |
conan_defines_XXX |
Compile definitions |
conan_cxxflags_XXX |
CXX flags |
conan_cflags_XXX |
C flags |
conan_sharedlinkflags_XXX |
Shared link flags |
conan_exelinkflags_XXX |
Executable link flags |
conan_rootpath_XXX |
Abs path to root package folder |
conan_frameworks_XXX |
Declared cpp_info.frameworks |
Global declared variables
NAME |
VALUE |
---|---|
conan_includedirs |
Aggregated headers’s folders |
conan_libdirs |
Aggregated library folders |
conan_bindirs |
Aggregated binary folders |
conan_libs |
Aggregated library names to link |
conan_defines |
Aggregated compile definitions |
conan_cxxflags |
Aggregated CXX flags |
conan_cflags |
Aggregated C flags |
conan_sharedlinkflags |
Aggregated shared link flags |
conan_exelinkflags |
Aggregated executable link flags |
conan_frameworks |
Aggregated frameworks from cpp_info.frameworks |
Note
Both the global conan_frameworks
and each conan_frameworks_xxx
support only system frameworks, not
frameworks packaged by the requirements. See discussion here.
Functions
conan_basic_setup()
Basic function to setup the settings into your configuration. Useful to reduce the logic in Premake scripts and automate the conversion of settings:
function conan_basic_setup()
configurations{conan_build_type}
architecture(conan_arch)
includedirs{conan_includedirs}
libdirs{conan_libdirs}
links{conan_libs}
links{conan_frameworks}
defines{conan_cppdefines}
bindirs{conan_bindirs}
end