- Notifications
You must be signed in to change notification settings - Fork190
Xcode-compatible build tool.
License
facebookarchive/xcbuild
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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)
Features | Performance | ||||
---|---|---|---|---|---|
🚀 | Blazing fast incremental builds | xcodebuild | xcbuild + Ninja | ||
📖 | Documents the Xcode build process | ||||
🔗 | Builds Xcode projects and workspaces | ||||
🐣 | Supports Swift apps and frameworks | Clean Build | 30.103s | 25.122s | |
✨ | Tools and libraries for Xcode projects | ||||
💝 | Fully compatible withxcpretty | ||||
🎩 | UsesNinja andllbuild | Incremental Build | 2.190s | 0.046s ⚡ | |
![]() | Open source under the BSD license | ||||
🐧 | Builds on Linux and Windows |
xctool | Buck | xcpretty |
---|---|---|
xcbuild andxctool 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 isBuck. 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 withxcpretty. Pipe the output from xcbuild to xcpretty the same way as you would fromxcodebuild . |
On macOS you can install those tools withHomebrew:brew install cmake ninja
.
On Windows you can install those tools withChocolatey:choco install cmake ninja
.
sudo apt install libpng-dev libpng16-16 libxml2-dev pkg-config ninja-build
- GCC 4.8 or later.
libpng16-dev
,zlib1g-dev
,libxml2-dev
, andpkg-config
are also required.
pkg install png-1.6.37 libxml2-2.9.9 pkgconf-1.6.3,1 ninja-1.9.0,2 gmake-4.2.1_3
pkg_add png-1.6.37 libxml-2.9.9 pkgconf-1.6.3 ninja-1.9.0 gmake-4.2.1p4
- Xcode 7 or later.
- Visual Studio 2015 or later, on Windows. A
zlib
DLL is also required.
git clone --depth=1 https://github.com/facebook/xcbuildcd xcbuildgit submodule update --init
make
gmake
Build output will be in thebuild
directory. Run xcbuild with./build/xcbuild
.
You can place xcbuild in yourbin
directory to run it from other locations:mv build/xcbuild /usr/local/bin/
.
cmake -Bbuild -H. -G"Visual Studio 14 2015" -DZLIB_ROOT=<path>
Openbuild\xcbuild.sln
and build.
The command line options are compatible withxcodebuild.
xcbuild -workspace Example.xcworkspace -scheme Example
To switch to the significantly fasterNinja executor:
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.
xcbuild actively welcomes contributions from the community. If you're interested in contributing, be sure to check out thecontributing guide. It includes some tips for getting started in the codebase, as well as important information about the code of conduct, license, and CLA.
xcbuild is built on build system documentation from the community. In particular, thanks to these people for their writing:
Third-party licenses are listed in theLICENSE
document.
About
Xcode-compatible build tool.
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.