Files
haikuports/dev-cpp/yaml_cpp/yaml_cpp-0.6.3.recipe

96 lines
2.1 KiB
Bash

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="3"
SOURCE_URI="https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-$portVersion.tar.gz"
CHECKSUM_SHA256="77ea1b90b3718aa0c324207cb29418f5bced2354c2e483a9523d98c3460af1ed"
SOURCE_DIR="yaml-cpp-yaml-cpp-$portVersion"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
libVersion="0.6.0"
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
"
PATCH()
{
sed -i "/INCLUDE_INSTALL_ROOT_DIR/ \
s|include|$relativeIncludeDir|" CMakeLists.txt
}
BUILD()
{
mkdir -p build && cd "$_"
cmake .. \
-DBUILD_SHARED_LIBS=ON \
-DYAML_BUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DYAML_CPP_BUILD_TOOLS=OFF \
-DYAML_CPP_BUILD_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=$prefix \
-DLIB_SUFFIX="$secondaryArchSubDir"
make $jobArgs
}
INSTALL()
{
cd build
make install
prepareInstalledDevelLib libyaml-cpp
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
# tests make the build considerably longer
# TODO: fail with: The current thread is not holding the mutex @0xf96b94
# probably because gtest is not ported (also it uses bundled one)
cd build
cmake .. \
-DBUILD_SHARED_LIBS=ON \
-DYAML_CPP_BUILD_TOOLS=ON \
-DYAML_CPP_BUILD_TESTS=ON \
-DCMAKE_INSTALL_PREFIX:PATH=$prefix
make $jobArgs
cd test
./run-tests
}