Package Management
Xmake provides a powerful package management system that allows you to easily install and use third-party libraries.
For more detailed documentation, please refer to Add Packages.
Use Fmt
EXPLORER
src
main.cpp
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")
add_requires("fmt")
target("test")
set_kind("binary")
add_files("src/*.cpp")
add_packages("fmt")
Use Boost
EXPLORER
src
main.cpp
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")
add_requires("boost")
target("test")
set_kind("binary")
add_files("src/*.cpp")
add_packages("boost")
Use OpenSSL
EXPLORER
src
main.c
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")
add_requires("openssl")
target("test")
set_kind("binary")
add_files("src/*.c")
add_packages("openssl")
Specify Version
We can also specify the version of the package we want to use. By default, xmake uses the latest available version of a package. You can specify a semantic version constraint to require a specific version.
EXPLORER
src
main.c
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")
add_requires("zlib 1.3.1")
target("test")
set_kind("binary")
add_files("src/*.c")
add_packages("zlib")
Use Shared Library
We can also configure the package to use shared libraries. Some packages support building as shared libraries. You can enable this by passing {configs = {shared = true}} to add_requires.
EXPLORER
src
main.cpp
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")
add_requires("gflags", {configs = {shared = true}})
target("test")
set_kind("binary")
add_files("src/*.cpp")
add_packages("gflags")