commit f8cbda372eb40a4259fd55350acebf153ebb0099
parent c7b9a4c92dfce3927afcce61ee86a354f824e9f3
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Wed, 10 Aug 2016 10:07:43 +0300
Tests for ARM NEON (qemu)
Diffstat:
2 files changed, 55 insertions(+), 3 deletions(-)
diff --git a/.travis.yml b/.travis.yml
@@ -1,5 +1,4 @@
language: cpp
-
matrix:
include:
- os: linux
@@ -15,15 +14,39 @@ matrix:
- clang-3.8
- libmpfr-dev
env:
- - CXXCOMPILER=clang++-3.8 CCOMPILER=clang-3.8
+ - TEST=LINUX-X86-64 CMAKEARGS="-DCMAKE_CXX_COMPILER=clang++-3.8 -DCMAKE_C_COMPILER=clang-3.8 -DCMAKE_BUILD_TYPE=Release .."
+ - os: linux
+ compiler: clang
+ sudo: required
+ dist: trusty
+ addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-precise-3.8
+ packages:
+ - g++-5
+ - clang-3.8
+ - qemu
+ - g++-arm-linux-gnueabihf
+ env:
+ - TEST=LINUX-ARMV7 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../cmake/arm.cmake -DARCH_FLAGS=-DLIBC_WORKAROUND_GETS=1 .."
- os: osx
osx_image: xcode8
+ env:
+ - TEST=XCODE8 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release .."
- os: osx
osx_image: xcode7.3
+ env:
+ - TEST=XCODE7.3 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release .."
- os: osx
osx_image: xcode7
+ env:
+ - TEST=XCODE7 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release .."
- os: osx
osx_image: beta-xcode6.3
+ env:
+ - TEST=XCODE6.3 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release .."
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
@@ -33,7 +56,7 @@ before_install:
script:
- mkdir build
- cd build
- - cmake -DCMAKE_CXX_COMPILER=$CXXCOMPILER -DCMAKE_C_COMPILER=$CCOMPILER -DCMAKE_BUILD_TYPE=Release ..
+ - cmake $CMAKEARGS
- make -j4
- cd tests
- ctest
diff --git a/cmake/arm.cmake b/cmake/arm.cmake
@@ -0,0 +1,29 @@
+set (CMAKE_SYSTEM_NAME Linux)
+set (CMAKE_SYSTEM_VERSION 1)
+set (UNIX True)
+set (ARM True)
+set (CMAKE_SYSTEM_PROCESSOR arm)
+
+include (CMakeForceCompiler)
+CMAKE_FORCE_CXX_COMPILER (/usr/bin/clang++-3.8 Clang)
+CMAKE_FORCE_C_COMPILER (/usr/bin/clang-3.8 Clang)
+set (CMAKE_CXX_COMPILER_WORKS TRUE)
+set (CMAKE_C_COMPILER_WORKS TRUE)
+
+set (ARM_ROOT "/usr/arm-linux-gnueabihf/include")
+set (GCC_VER 4.8.4)
+set (SYS_PATHS "-isystem ${ARM_ROOT}/c++/${GCC_VER} -isystem ${ARM_ROOT}/c++/${GCC_VER}/backward -isystem ${ARM_ROOT}/c++/${GCC_VER}/arm-linux-gnueabihf -isystem ${ARM_ROOT}")
+
+set (ARM_COMMON_FLAGS "-target arm-linux-gnueabihf -mcpu=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard -static")
+
+set (CMAKE_CXX_FLAGS "${SYS_PATHS} ${ARM_COMMON_FLAGS}")
+set (CMAKE_C_FLAGS " ${SYS_PATHS} ${ARM_COMMON_FLAGS}")
+
+set (CMAKE_CXX_LINK_FLAGS " ${ARM_COMMON_FLAGS} ${CMAKE_CXX_LINK_FLAGS}")
+set (CMAKE_C_LINK_FLAGS " ${ARM_COMMON_FLAGS} ${CMAKE_C_LINK_FLAGS}")
+
+message(STATUS "${ARM_COMMON_FLAGS}")
+
+set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
+set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)