# xcbuild **Repository Path**: mengfengfei/xcbuild ## Basic Information - **Project Name**: xcbuild - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-02-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

xcbuild

**xcbuild** is an Xcode-compatible build tool with the goal of providing faster builds, better documentation of the build process and running on multiple platforms (macOS, Linux, and Windows) ### Why xcbuild?
Features Performance
:rocket:Blazing fast incremental buildsxcodebuildxcbuild + Ninja
:book:Documents the Xcode build process
:link:Builds Xcode projects and workspaces
:hatching_chick:Supports Swift apps and frameworksClean Build30.103s25.122s
:sparkles:Tools and libraries for Xcode projects
:gift_heart:Fully compatible with xcpretty
:tophat:Uses Ninja and llbuildIncremental Build2.190s0.046s :zap:
:octocat:Open source under the BSD license
:penguin:Builds on Linux and Windows
### xcbuild and other build tools [xctool](https://github.com/facebook/xctool) | [Buck](https://github.com/facebook/buck) | [xcpretty](https://github.com/supermarin/xcpretty) ----|----|--- xcbuild and [xctool](https://github.com/facebook/xctool) are both Xcode-compatible build systems. We plan on slowly deprecating xctool's build support but keep it as a great way to run tests. | Facebook's main build system is [Buck](https://buckbuild.com). Buck has a stronger architecture and advanced features like artifact caching while having a much simpler build format. If you have a new project, it's highly recommended. | xcbuild works great with [xcpretty](https://github.com/supermarin/xcpretty). Pipe the output from xcbuild to xcpretty the same way as you would from `xcodebuild`. ## Building xcbuild [![Build Status](https://travis-ci.org/facebook/xcbuild.svg?branch=master)](https://travis-ci.org/facebook/xcbuild) ### Requirements #### All platforms - [CMake](http://www.cmake.org) and [Ninja](https://ninja-build.org/) (or [llbuild](https://github.com/apple/swift-llbuild)) are required to build xcbuild. On macOS you can install those tools with [Homebrew](https://brew.sh/): `brew install cmake ninja`. On Windows you can install those tools with [Chocolatey](https://chocolatey.org): `choco install cmake ninja`. #### Linux - GCC 4.8 or later. `libpng16-dev`, `zlib1g-dev`, `libxml2-dev`, and `pkg-config` are also required. #### macOS - Xcode 7 or later. #### Windows - Visual Studio 2015 or later, on Windows. A `zlib` DLL is also required. ### Instructions #### All platforms ```sh git clone --depth=1 https://github.com/facebook/xcbuild cd xcbuild git submodule update --init ``` #### Linux and macOS: ```sh make ``` Build output will be in the `build` directory. Run xcbuild with `./build/xcbuild`. You can place xcbuild in your `bin` directory to run it from other locations: `mv build/xcbuild /usr/local/bin/`. #### Windows (experimental): ```sh cmake -Bbuild -H. -G "Visual Studio 14 2015" -DZLIB_ROOT= ``` Open `build\xcbuild.sln` and build. ## Usage The command line options are compatible with [xcodebuild](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html). ``` xcbuild -workspace Example.xcworkspace -scheme Example ``` ### Using Ninja (or llbuild) To switch to the significantly faster [Ninja](https://ninja-build.org/) executor: ```sh xcbuild -executor ninja [-workspace Example.xcworkspace ...] ``` Besides the `-executor ninja` parameters, the options are otherwise identical. The Ninja executor is fastest if it can avoid re-generating the Ninja files if the build configuration and input project files do not change. ## Contributing xcbuild actively welcomes contributions from the community. If you're interested in contributing, be sure to check out the [contributing guide](https://github.com/facebook/xcbuild/blob/master/CONTRIBUTING.md). It includes some tips for getting started in the codebase, as well as important information about the code of conduct, license, and CLA. ## Thanks xcbuild is built on build system documentation from the community. In particular, thanks to these people for their writing: - [Samantha Marshall](http://pewpewthespells.com) - [Damien Bobillot](http://maxao.free.fr/xcode-plugin-interface/) - [Michele Titolo](http://michele.io) - [Laurent Etiemble](http://www.monobjc.net/xcode-project-file-format.html) - [Apple Developer](https://developer.apple.com/legacy/library/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/Xcode_Build_System.pdf) Third-party licenses are listed in the `LICENSE` document.