Add arm-none-eabi-cmake

This commit is contained in:
Martchus 2017-04-29 11:47:00 +02:00
parent 1ce7d20c59
commit 7d2eea1094
3 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,33 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=arm-none-eabi-cmake
pkgver=1
pkgrel=1
arch=('any')
pkgdesc='CMake wrapper for arm-none-eabi'
depends=('cmake' 'arm-none-eabi-gcc')
license=('GPL')
url='https://github.com/Martchus/PKGBUILDs'
source=("arm-none-eabi-cmake.sh"
"toolchain.cmake")
md5sums=('SKIP' 'SKIP')
_architectures="arm-none-eabi"
build() {
for _arch in ${_architectures}; do
sed "s|@TRIPLE@|${_arch}|g" toolchain.cmake > toolchain-${_arch}.cmake
sed "s|@TRIPLE@|${_arch}|g" arm-none-eabi-cmake.sh > ${_arch}-cmake
done
}
package() {
install -d "${pkgdir}"/usr/bin
install -d "${pkgdir}"/usr/share/arm-none-eabi
for _arch in ${_architectures}; do
install -m 644 toolchain-${_arch}.cmake "${pkgdir}"/usr/share/arm-none-eabi/
install -m 755 ${_arch}-cmake "${pkgdir}"/usr/bin/
done
}

View File

@ -0,0 +1,20 @@
#!/bin/sh
arm_prefix=/usr/@TRIPLE@
export PKG_CONFIG_LIBDIR="${arm_prefix}/lib/pkgconfig"
arm_flags="${CUSTOM_MINGW_FLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --specs=nosys.specs}"
export CFLAGS="$arm_flags $CFLAGS"
export CXXFLAGS="$arm_flags $CXXFLAGS"
additional_args=" \
-DCMAKE_INSTALL_PREFIX:PATH=${arm_prefix} \
-DCMAKE_INSTALL_LIBDIR:PATH=${arm_prefix}/lib \
-DINCLUDE_INSTALL_DIR:PATH=${arm_prefix}/include \
-DCMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${arm_prefix}/include \
-DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${arm_prefix}/include \
-DLIB_INSTALL_DIR:PATH=${arm_prefix}/lib \
-DSYSCONF_INSTALL_DIR:PATH=${arm_prefix}/etc \
-DSHARE_INSTALL_DIR:PATH=${arm_prefix}/share \
-DCMAKE_TOOLCHAIN_FILE=/usr/share/@TRIPLE@/toolchain-@TRIPLE@.cmake"
cmake $additional_args "$@"

View File

@ -0,0 +1,19 @@
set (CMAKE_SYSTEM_NAME Generic)
# specify the cross compiler
set (CMAKE_C_COMPILER @TRIPLE@-gcc)
set (CMAKE_CXX_COMPILER @TRIPLE@-g++)
set (CMAKE_AR:FILEPATH @TRIPLE@-ar)
set (CMAKE_RANLIB:FILEPATH @TRIPLE@-ranlib)
# where is the target environment
set (CMAKE_FIND_ROOT_PATH /usr/@TRIPLE@)
# search for programs in the build host directories
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)