This release introduces a number of new feature updates, as detailed in Some new features of xmake v2.1.5.

If you want to known more usage, please see online documents。

Source code: Github, Gitee.

New features

#83: Add add_csnippet and add_cxxsnippet into option for detecting some compiler features.

and into for detecting some compiler features. #83: Add user extension modules to detect program, libraries and files.

Add find_program , find_file , find_library , find_tool and find_package module interfaces.

, , , and module interfaces. Add net.* and devel.* extension modules

and extension modules Add val() api to get the value of builtin-variable, .e.g val("host") , val("env PATH") , val("shell echo hello") and val("reg HKEY_LOCAL_MACHINE\\XX;Value")

api to get the value of builtin-variable, .e.g , , and Support to compile the microsoft resource file (.rc)

Add has_flags , features and has_features for detect module interfaces.

, and for detect module interfaces. Add option.on_check , option.after_check and option.before_check api

, and api Add target.on_load api

api #132: Add add_frameworkdirs api

api Add lib.detect.has_xxx and lib.detect.find_xxx apis.

and apis. Add add_moduledirs api

api Add includes api instead of add_subdirs and add_subfiles

api instead of and #133: Improve the project plugin to generate compile_commands.json by run xmake project -k compile_commands

by run Add set_pcheader and set_pcxxheader to support the precompiled header, support gcc, clang, msvc

and to support the precompiled header, support gcc, clang, msvc Add xmake f -p cross platform and support the custom platform

Changes

#87: Add includes and links from target deps automatically

Improve import to load user extension and global modules

to load user extension and global modules #93: Improve xmake lua to run a single line command

to run a single line command Improve to print gcc error and warning info

Improve print interface to dump table

interface to dump table #111: Add --root common option to allow run xmake command as root

common option to allow run xmake command as root #113: Privilege manage when running as root, store the root privilege and degrade.

Improve xxx_script in xmake.lua to support pattern match, .e.g on_build("iphoneos|arm*", function (target) end)

in to support pattern match, .e.g improve builtin-variables to support to get the value envirnoment and registry

Improve to detect vstudio sdk and cross toolchains envirnoment

#71: Improve to detect compiler and linker from env vars

Improve the option detection (cache and multi-jobs) and increase 70% speed

#129: Check link deps and cache the target file

Support *.asm source files for vs201x project plugin

source files for vs201x project plugin Mark add_bindings and add_rbindings as deprecated

and as deprecated Optimize xmake rebuild speed on windows

speed on windows Move core.project.task to core.base.task

to Move echo and app2ipa plugins to xmake-plugins repo.

and plugins to xmake-plugins repo. Add new api set_config_header("config.h", {prefix = ""}) instead of set_config_h and set_config_h_prefix

Bugs fixed