Xmake

xmake is a cross-platform build utility based on Lua.[1]

Features

  • Tasks
  • Macros
  • Actions
  • Options
  • Plugins
  • Templates

Platforms

  • Windows (x86, x64, amd64, x86_amd64)
  • Macosx (i386, x86_64)
  • Linux (i386, x86_64, cross-toolchains ...)
  • Android (armv5te, armv6, armv7-a, armv8-a, arm64-v8a)
  • iPhoneOS (armv7, armv7s, arm64, i386, x86_64)
  • WatchOS (armv7k, i386)
  • Mingw (i386, x86_64)

Languages

Plugins

  • Macros script plugin
  • Run the custom lua script plugin
  • Generate IDE project file plugin(makefile, vs2002 - vs2017 .. )
  • Generate doxygen document plugin

Examples

Build project

$ xmake

Run target

$ xmake run console

Debug target

$ xmake run -d console

Simple description

target("console")
  set_kind("binary")
  add_files("src/*.c")

Simple Example

if is_mode("debug") then
  set_symbols("debug")
  set_optimize("none")
end

if is_mode("release") then
  set_symbols("hidden")
  set_optimize("fastest")
  set_strip("all")
end

target("test")
  set_kind("static")
  add_files("src/*.c")
gollark: Elemental germanium is used as a semiconductor in transistors and various other electronic devices. Historically, the first decade of semiconductor electronics was based entirely on germanium. Presently, the major end uses are fibre-optic systems, infrared optics, solar cell applications, and light-emitting diodes (LEDs). Germanium compounds are also used for polymerization catalysts and have most recently found use in the production of nanowires. This element forms a large number of organogermanium compounds, such as tetraethylgermanium, useful in organometallic chemistry. Germanium is considered a technology-critical element.[6]
gollark: I agree with you, at present.
gollark: Oh, I meant the `.`.
gollark: That defines... one macro?
gollark: Oh wow, it must define SO MANY macros.

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.