summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorSandy Carter2021-01-30 22:21:02 -0500
committerSandy Carter2021-01-30 22:38:32 -0500
commit37c473ca9d30ba9e7d463a58365bb65ee416b2ee (patch)
tree85cfea0a6cbeef96b16a1e271179b552c25d5a96 /PKGBUILD
parent81f63187a78dcd5b975050a9a4effb18c0219e1e (diff)
downloadaur-37c473ca9d30ba9e7d463a58365bb65ee416b2ee.tar.gz
convert to cmake package using bgfx.cmake
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD86
1 files changed, 53 insertions, 33 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 83d2cdccf43f..97890f0ea57e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,55 +1,75 @@
-pkgname=bgfx-git
+pkgname=bgfx-cmake-git
pkgver=r7631.741028840
pkgrel=1
-pkgdesc="Cross-platform, graphics API agnostic, \"Bring Your Own Engine/Framework\" style rendering library."
+pkgdesc="Cross-platform, graphics API agnostic, \"Bring Your Own Engine/Framework\" style rendering library. (With CMake build scripts)"
arch=('x86_64')
url="https://bkaradzic.github.io"
-license=('BSD')
+license=('BSD' 'CC')
depends=('mesa' 'libx11')
makedepends=('git' 'cmake')
-conflicts=("${pkgname%-git}")
-provides=("${pkgname%-git}")
+conflicts=(bgfx bgfx-git)
+provides=(bgfx)
source=('git://github.com/bkaradzic/bx.git'
'git://github.com/bkaradzic/bimg.git'
- 'git://github.com/bkaradzic/bgfx.git')
-sha256sums=('SKIP' 'SKIP' 'SKIP')
+ 'git://github.com/bkaradzic/bgfx.git'
+ 'git://github.com/widberg/bgfx.cmake.git'
+ '0001-cmake-turn-on-CMAKE_POSITION_INDEPENDENT_CODE-for-sh.patch'
+ '0002-bimg-specify-visibility-of-linked-libs.patch'
+ '0003-install-if-generating-shared-only-install-bgfx.patch'
+ '0004-bgfx-make-bx-and-bimg-private.patch') # https://github.com/widberg/bgfx.cmake/pull/100
+sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP'
+ '164c5d569d605f3e02552ad57383fbb2448e48270cdb95009672ade6e1be8050'
+ '20d6949f9a5d95bd0f21c51a99baca8b84163462b42a5472c2b237ee915993cc'
+ '471c2f61b071246bd653623e5939aa2874aac7b006af6907459b1a3c23dc1952'
+ '294df452d039824ac8280af6089918ac09a5feafd3bc1821e125e602cca073fa')
pkgver() {
- cd "${srcdir}/${pkgname%-git}"
+ cd "${srcdir}/bgfx"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
-build() {
- cd "${srcdir}/${pkgname%-git}"
- if [ `check_option debug`=y ]
- then
- make linux-debug64
- else
- make linux-release64
- fi
-}
+prepare() {
+ cd "${srcdir}/bgfx.cmake"
-package() {
- cd "${srcdir}/${pkgname%-git}"
- CONFIG=Release
- if [ `check_option debug`=y ]
- then
- CONFIG=Debug
- fi
- install -D .build/linux64_gcc/bin/libbgfx-shared-lib${CONFIG}.so ${pkgdir}/usr/lib/libbgfx.so
- install -dm755 ${pkgdir}/usr/include
- for PROJ in bx bimg bgfx
- do
- cp -r ${srcdir}/${PROJ}/include ${pkgdir}/usr
- done
- install -m644 src/bgfx_shader.sh ${pkgdir}/usr/include/bgfx/
- install -m644 src/bgfx_compute.sh ${pkgdir}/usr/include/bgfx/
+ git config --file=.gitmodules submodule.bx.url $srcdir/bx
+ git config --file=.gitmodules submodule.bimg.url $srcdir/bimg
+ git config --file=.gitmodules submodule.bgfx.url $srcdir/bgfx
+ git submodule sync
+ git submodule update --init
+
+ patch -p1 -i $srcdir/0001-cmake-turn-on-CMAKE_POSITION_INDEPENDENT_CODE-for-sh.patch
+ patch -p1 -i $srcdir/0002-bimg-specify-visibility-of-linked-libs.patch
+ patch -p1 -i $srcdir/0003-install-if-generating-shared-only-install-bgfx.patch
+ patch -p1 -i $srcdir/0004-bgfx-make-bx-and-bimg-private.patch
+
+ # prepend bgfx to bin names to avoid naming conflicts
for BIN in geometryc geometryv shaderc texturec texturev
do
- install -D .build/linux64_gcc/bin/${BIN}${CONFIG} ${pkgdir}/usr/bin/bgfx-${BIN}
+ echo "" >> cmake/tools/$BIN.cmake
+ echo "set_target_properties( $BIN PROPERTIES OUTPUT_NAME bgfx-$BIN )" >> cmake/tools/$BIN.cmake
done
}
+build() {
+ cd "${srcdir}/bgfx.cmake"
+ cmake -DBGFX_BUILD_EXAMPLES=OFF \
+ -DBGFX_INSTALL_EXAMPLES=OFF \
+ -DBGFX_CUSTOM_TARGETS=OFF \
+ -DBGFX_LIBRARY_TYPE=SHARED \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ cmake --build .
+}
+
+package() {
+ cd "${srcdir}/bgfx.cmake"
+ cmake --install . -v --strip --prefix "$pkgdir/usr"
+
+ # remove helper and 3rdparty includes used to compile bgfx
+ rm -rf ${pkgdir}/usr/include/compat
+ rm -rf ${pkgdir}/usr/include/tinystl
+}
+
# vim:set ts=2 sw=2 et: