Skip to content

Commit

Permalink
LWJGL CI configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
Spasi committed Sep 2, 2019
1 parent 498e8b8 commit 6676247
Show file tree
Hide file tree
Showing 4 changed files with 214 additions and 1 deletion.
152 changes: 152 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
git:
depth: 3
env:
global:
- secure: "FVuqlxPEwVhRx+/LPZ6XR3O3ukIitxo42lRKNxGhpCevzVVYpCsVIRY4HqF9uL809X7F/LRC+m9q2a06UugNkdz5CM5INlBjIIMPRmvZjGgwJ8YhnpogWRHnxJgbsakoDL/9iax/KMLsuBnyZm68R0+bo94uq+f3OB//BR5DZV540bZIHuqYe5GWucm5tgG/l0MFbIhTnX2y4EBx+q+ysgc73f8ys1E8xdmtMnJEWqNoDOX64HNSBaDZIbwWnt+8MRj0eDr8HDXnGwoUQKUJFGjEHmE8od/RwOrwVcSp+xrO4wETSMvqNTpQ4iUmzgxq+hjn8C98rbttE7LBVX0Brk8I4aYxYn9+xY8FzQhPHl9y8+2xHa9zGVeANB0XikJh/AWoIWqb0CjQlh7Jtmu7K9+UBBFfsqGNavTqudwMcayubanoEEQelIayMjHb9CHcT5wHAB60DVDgYyeU+16akM/9E2ZSmyQFvSiwahaVt9j1W6dBnUpTvUidAAKe5BZikITr0+RGDkQNO6XKKpnAs87vLI5m4v7Rr4Vce+iCy6tAG82I3oVI00Wgh0DFBNDIIlpD68yyePXJ/sW4lvD6kfZzKXkk7SZ4VPp9NGm9/W6HKc2vHVC/ak81uitbpvRQSv6dJN0TPeB46Yw25NJaTaf6UBYgvebiWdwWreoeX8Y="
- secure: "JuRmidI8TdBEvx/QEcW2p/OGouNLslYt96JizHt66TRQ+++hDSMmxTzraH5FXgb8viq7ataslNKdivS60uxJJVnagPtjmHdO/S7HrcvMdegMV/xEDnRvCRiYfOO+SuXuBkYBBz6otMkGF21m+xocVD1YQ6VjQjeZ8/RiTDfgyVBRSVDsulE6eK7vfUxTwrgER+K0o0HN4ijf089MfWsWbi4iUtDdFY67lQ4yztIW66l1iYXpMXkGp5Mm82Tg+3mHJs8rWeafxS9sfDziuOGZw3Okl/gCLoK7SQ7zdclUKun7KnF5j5XL7lpa6/sv0SmrF0+P9oJIwqLR753E+dfkek4wRZTslnaYtV3UYyXBnNKgc5B4dXr3VNNX5ianuWAPUUfwZlzjaaQyUgUTzZJqPbodTfncHt+ZUpaqNKbLLwduajEtJzIUAHDYkmPHSkjzb7bpgjsXBSh9IMhyYOLCAtNxSQ02IFFosa7pgJA9ritnZoLVjeTdRLnjJgN/cBxRfSlkGrU0aXTVisyR5D/bYIBRNrPC1P8Bk0YPv5+V5iD2+2dKdLUCHhO51107++/3zGiIFwmvaBZnIC3EBTkGwueKW7GdgAp7VGF5BxWmOAH/DIfCJVRXTFmB5RRXrVIv+2JM6VQQBVxrV+R92Z/vN2CUgbQUoaXMaR/2fAJ0+QU="
- AWS_DEFAULT_REGION: "us-east-1"
- S3_PARAMS: '"--acl public-read --cache-control \"public,must-revalidate,proxy-revalidate,max-age=0\""'
- BULLETC_PARAMS: '"-DCMAKE_BUILD_TYPE=Release -DBUILD_ENET=OFF -DBUILD_CLSOCKET=OFF"'

matrix:
include:

# -----------------
- name: "Linux x64"
# -----------------
dist: xenial
language: c
compiler: gcc

addons:
apt:
packages:
- cmake
- gcc-4.8
- g++-4.8

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bullet3.git ../bullet3

script:
- cd libbulletc
- mkdir build
- cd build
- "CC=gcc-4.8 CXX=g++-4.8 cmake $BULLETC_PARAMS -DCMAKE_C_FLAGS=\"-std=c99 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0\" -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--wrap,memcpy .."
- cmake --build .
- strip libbulletc.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbulletc.so.git"
- "aws s3 cp libbulletc.so s3://build.lwjgl.org/nightly/linux/x64/ $S3_PARAMS"
- "aws s3 cp libbulletc.so.git s3://build.lwjgl.org/nightly/linux/x64/ $S3_PARAMS"

# -----------------
- name: "Linux arm32"
# -----------------
dist: xenial
language: c
compiler: gcc

addons:
apt:
packages:
- cmake
- gcc-4.8-arm-linux-gnueabihf
- g++-4.8-arm-linux-gnueabihf
- libc6-dev-armhf-cross

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo sed -i 's/deb http/deb [arch=amd64,i386] http/' /etc/apt/sources.list
- sudo grep "ubuntu.com/ubuntu" /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/ports.list
- sudo sed -i 's/amd64,i386/armhf,arm64/' /etc/apt/sources.list.d/ports.list
- sudo sed -i 's#http://.*/ubuntu#http://ports.ubuntu.com/ubuntu-ports#' /etc/apt/sources.list.d/ports.list
- sudo dpkg --add-architecture armhf
- sudo apt-get update || true

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bullet3.git ../bullet3

script:
- cd libbulletc
- mkdir build
- cd build
- "CC=arm-linux-gnueabihf-gcc-4.8 CXX=arm-linux-gnueabihf-g++-4.8 cmake $BULLETC_PARAMS -DCMAKE_C_FLAGS=\"-std=c99 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0\" .."
- cmake --build .
- arm-linux-gnueabihf-strip libbulletc.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbulletc.so.git"
- "aws s3 cp libbulletc.so s3://build.lwjgl.org/nightly/linux/arm32/ $S3_PARAMS"
- "aws s3 cp libbulletc.so.git s3://build.lwjgl.org/nightly/linux/arm32/ $S3_PARAMS"

# -----------------
- name: "Linux arm64"
# -----------------
dist: xenial
language: c
compiler: gcc

addons:
apt:
packages:
- cmake
- gcc-4.8-aarch64-linux-gnu
- g++-4.8-aarch64-linux-gnu
- libc6-dev-arm64-cross

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bullet3.git ../bullet3

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo sed -i 's/deb http/deb [arch=amd64,i386] http/' /etc/apt/sources.list
- sudo grep "ubuntu.com/ubuntu" /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/ports.list
- sudo sed -i 's/amd64,i386/armhf,arm64/' /etc/apt/sources.list.d/ports.list
- sudo sed -i 's#http://.*/ubuntu#http://ports.ubuntu.com/ubuntu-ports#' /etc/apt/sources.list.d/ports.list
- sudo dpkg --add-architecture arm64
- sudo apt-get update || true

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bullet3.git ../bullet3

script:
- cd libbulletc
- mkdir build
- cd build
- "CC=aarch64-linux-gnu-gcc-4.8 CXX=aarch64-linux-gnu-g++-4.8 cmake $BULLETC_PARAMS -DCMAKE_C_FLAGS=\"-std=c99 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0\" .."
- cmake --build .
- aarch64-linux-gnu-strip libbulletc.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbulletc.so.git"
- "aws s3 cp libbulletc.so s3://build.lwjgl.org/nightly/linux/arm64/ $S3_PARAMS"
- "aws s3 cp libbulletc.so.git s3://build.lwjgl.org/nightly/linux/arm64/ $S3_PARAMS"

# -----------------
- name: "macOS"
# -----------------
language: objective-c
osx_image: xcode10.3
compiler: clang

before_install:
- brew update

install:
- brew install awscli

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bullet3.git ../bullet3

script:
- cd libbulletc
- mkdir build
- cd build
- "cmake $BULLETC_PARAMS -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 .."
- cmake --build .
- strip -u -r libbulletc.dylib
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbulletc.dylib.git"
- "aws s3 cp libbulletc.dylib s3://build.lwjgl.org/nightly/macosx/x64/ $S3_PARAMS"
- "aws s3 cp libbulletc.dylib.git s3://build.lwjgl.org/nightly/macosx/x64/ $S3_PARAMS"
49 changes: 49 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
version: '{build}'
skip_tags: true
image: Visual Studio 2019
clone_depth: 3
environment:
AWS_ACCESS_KEY_ID:
secure: 7jhk0oV/vjFsOcsAHLMUcNGUGLuGmnuPxGH0ce/Vky8=
AWS_SECRET_ACCESS_KEY:
secure: 5KKYpsIHwYHHh5ud0U7Ss0rLumv6G8tkS6abh1B9aq4wY6+1kq5fN/3E5BsdBVKy
AWS_DEFAULT_REGION: us-east-1
S3_CONFIG_VOLATILE: --acl public-read --cache-control "public, must-revalidate, proxy-revalidate, max-age=0"
GIT_FORMAT: '%%H'
matrix:
- ARCH: x64
PLATFORM: "x64"
- ARCH: x86
PLATFORM: "Win32"
matrix:
fast_finish: true
install:
- git clone https://github.com/LWJGL-CI/bullet3.git ../bullet3
build_script:
- cmd: >-
cd libbulletc
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A %PLATFORM% -DCMake_MSVC_PARALLEL=ON -DBUILD_ENET=OFF -DBUILD_CLSOCKET=OFF ..
cmake --build . --config Release
aws s3 cp lib\Release\libbulletc.dll s3://build.lwjgl.org/nightly/windows/%ARCH%/bulletc.dll %S3_CONFIG_VOLATILE%
cd ..
git log --first-parent --pretty=format:%GIT_FORMAT% HEAD~2..HEAD~1 > revision.git
aws s3 cp revision.git s3://build.lwjgl.org/nightly/windows/%ARCH%/bulletc.dll.git %S3_CONFIG_VOLATILE%
test: off
notifications:
- provider: Email
to:
- [email protected]
subject: libbulletc CI
on_build_success: true
on_build_failure: true
on_build_status_changed: true
5 changes: 4 additions & 1 deletion libbulletc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,10 @@ ADD_LIBRARY(${BULLETC_LIB} SHARED
src/hacdHACD_wrap.cpp
src/hacdHACD_wrap.h
)
if ("$ENV{TRAVIS_JOB_NAME}" STREQUAL "Linux x64")
TARGET_SOURCES(${BULLETC_LIB} PRIVATE src/wrap_memcpy.c)
endif()

TARGET_LINK_LIBRARIES(${BULLETC_LIB} BulletCollision BulletDynamics LinearMath BulletFileLoader BulletSoftBody BulletWorldImporter BulletXmlWorldImporter HACD)

ADD_SUBDIRECTORY(test)
# ADD_SUBDIRECTORY(test)
9 changes: 9 additions & 0 deletions libbulletc/src/wrap_memcpy.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#include <stddef.h>

void *old_memcpy(void *, const void *, size_t);

__asm__(".symver old_memcpy,memcpy@GLIBC_2.2.5");

void *__wrap_memcpy(void *dest, const void *src, size_t n) {
return old_memcpy(dest, src, n);
}

0 comments on commit 6676247

Please sign in to comment.