SUMMARY="A small build system similar to make"
DESCRIPTION="Ninja is a small build system with a focus on speed. It differs \
from other build systems in two major respects: it is designed to have its \
input files generated by a higher-level build system, and it is designed to \
run builds as fast as possible.
Ninja's low-level approach makes it perfect for embedding into more featureful \
build systems. Via gyp it can build Chrome and v8 and node.js etc.; via CMake \
it can build LLVM, KDE, Blender, etc."
HOMEPAGE="https://ninja-build.org/"
COPYRIGHT="2012-2019 Google Inc."
LICENSE="Apache v2"
REVISION="5"
SOURCE_URI="https://github.com/ninja-build/ninja/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed"
PATCHES="ninja-$portVersion.patchset"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	ninja$secondaryArchSuffix = $portVersion
	cmd:ninja = $portVersion
	"
REQUIRES="
	haiku$secondaryArchSuffix
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel >= r1~alpha4_pm_hrev51418-1
	"
BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel
	cmd:as$secondaryArchSuffix
	cmd:cmake
	cmd:g++$secondaryArchSuffix
	cmd:gcc$secondaryArchSuffix
	cmd:make
	"

PROVIDES_zsh="
	ninja${secondaryArchSuffix}_zsh = $portVersion
	"
REQUIRES_zsh="
	ninja$secondaryArchSuffix == $portVersion base
	zsh >= 5.0
	"

BUILD()
{
	cmake -DCMAKE_BUILD_TYPE="Release" -Bbuild $cmakeDirArgs .
	cd build
	make $jobArgs
}

INSTALL()
{
	cd build
	make install

	# build our zsh completion package
	mkdir -p $dataDir/zsh/site-functions
	cp -af $sourceDir/misc/zsh-completion $dataDir/zsh/site-functions/_ninja
	packageEntries zsh $dataDir
}

TEST()
{
	build/ninja_test
}
