-- Helper methods to use the system pkg-config utility pkg_config = {} function pkg_config.cflags(lib) if os.istarget("windows") then return end buildoptions({ ({os.outputof("pkg-config --cflags "..lib)})[1], }) end function pkg_config.lflags(lib) if os.istarget("windows") then return end linkoptions({ ({os.outputof("pkg-config --libs-only-L " ..lib)})[1], ({os.outputof("pkg-config --libs-only-other "..lib)})[1], }) -- We can't just drop the stdout of the `--libs` command in -- linkoptions because library order matters local output = ({os.outputof("pkg-config --libs-only-l "..lib)})[1] for k, flag in next, string.explode(output, " ") do -- remove "-l" links(string.sub(flag, 3)) end end function pkg_config.all(lib) pkg_config.cflags(lib) pkg_config.lflags(lib) end