SUMMARY="A YAML parser and emitter in C++"
DESCRIPTION="yaml-cpp is a YAML parser and emitter in C++ matching the YAML \
1.2 spec."
HOMEPAGE="https://github.com/jbeder/yaml-cpp"
COPYRIGHT="2018 Jesse Beder"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-$portVersion.tar.gz"
CHECKSUM_SHA256="43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3"
SOURCE_DIR="yaml-cpp-yaml-cpp-$portVersion"
PATCHES="yaml_cpp-$portVersion.patchset"

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

libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%.*}"

PROVIDES="
	yaml_cpp$secondaryArchSuffix = $portVersion
	lib:libyaml_cpp$secondaryArchSuffix = $libVersionCompat
	"
REQUIRES="
	haiku$secondaryArchSuffix
	"

PROVIDES_devel="
	yaml_cpp${secondaryArchSuffix}_devel = $portVersion
	devel:libyaml_cpp$secondaryArchSuffix = $libVersionCompat
	"
REQUIRES_devel="
	yaml_cpp$secondaryArchSuffix == $portVersion base
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libgtest$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:cmake
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:make
	cmd:pkg_config$secondaryArchSuffix
	cmd:which
	"

BUILD()
{
	rm -r test/gtest-*
	cmake -B build -S . \
		$cmakeDirArgs \
		-DBUILD_SHARED_LIBS=ON \
		-DYAML_BUILD_SHARED_LIBS=ON \
		-DCMAKE_BUILD_TYPE=Release \
		-DYAML_CPP_BUILD_TOOLS=OFF \
		-DYAML_CPP_BUILD_TESTS=ON
	make -C build $jobArgs
}

INSTALL()
{
	make -C build install

	prepareInstalledDevelLib libyaml-cpp
	fixPkgconfig

	packageEntries devel \
		$developDir
}

TEST()
{
	cd build/test
	./yaml-cpp-tests
}
