summaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorJon <[email protected]>2012-06-04 20:11:55 -0400
committerJon <[email protected]>2012-06-04 21:19:57 -0400
commitdfce4a7b33464b39f7677cfb4d093f19c566e756 (patch)
tree621d6c1e3bc4a29c621ef5f4aa2171b72e3fdb0e /cmake
parent501f7f6027b99416b94f093bb30691c5ae43d7d0 (diff)
downloadmruby-dfce4a7b33464b39f7677cfb4d093f19c566e756.tar.gz
mruby-dfce4a7b33464b39f7677cfb4d093f19c566e756.zip
Add Ubuntu -> Linux-on-ARM CMake toolchain files
Add separate sample CMake toolchain files targeting Linux running on ARM, with and without hardware floating point support. Samples use the `gcc-arm-linux-gnueabihf` and `gcc-arm-linux-gnueabi` cross toolchains from the standard Ubuntu package repositories.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Toolchain-Ubuntu-gnueabi.cmake.sample29
-rw-r--r--cmake/Toolchain-Ubuntu-gnueabihf.cmake.sample29
2 files changed, 58 insertions, 0 deletions
diff --git a/cmake/Toolchain-Ubuntu-gnueabi.cmake.sample b/cmake/Toolchain-Ubuntu-gnueabi.cmake.sample
new file mode 100644
index 000000000..bf29a5cad
--- /dev/null
+++ b/cmake/Toolchain-Ubuntu-gnueabi.cmake.sample
@@ -0,0 +1,29 @@
+# Sample toolchain file for building for ARM from an Ubuntu Linux system.
+#
+# Typical usage:
+# 1) install cross compiler: `sudo apt-get install gcc-arm-linux-gnueabi`
+# 2) cp cmake/Toolchain-Ubuntu-gnueabi.cmake.sample ~/Toolchain-Ubuntu-gnueabi.cmake
+# 3) tweak toolchain values as needed
+# 4) cd build
+# 5) cmake -DCMAKE_TOOLCHAIN_FILE=~/Toolchain-Ubuntu-gnueabi.cmake ..
+
+# name of the target OS on which the built artifacts will run and the
+# toolchain prefix. if target is an embedded system without an OS, set
+# CMAKE_SYSTEM_NAME to `Generic`
+set(CMAKE_SYSTEM_NAME Linux)
+set(TOOLCHAIN_PREFIX arm-linux-gnueabi)
+
+# cross compilers to use for C
+set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
+
+# target environment on the build host system
+# set 1st to dir with the cross compiler's C/C++ headers/libs
+# set 2nd to dir containing personal cross development headers/libs
+set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX} ~/crossdev/eabi)
+
+# modify default behavior of FIND_XXX() commands to
+# search for headers/libs in the target environment and
+# search for programs in the build host environment
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
diff --git a/cmake/Toolchain-Ubuntu-gnueabihf.cmake.sample b/cmake/Toolchain-Ubuntu-gnueabihf.cmake.sample
new file mode 100644
index 000000000..2d7f2769c
--- /dev/null
+++ b/cmake/Toolchain-Ubuntu-gnueabihf.cmake.sample
@@ -0,0 +1,29 @@
+# Sample toolchain file for building for ARM (w/hw float support) from an Ubuntu Linux system.
+#
+# Typical usage:
+# 1) install cross compiler: `sudo apt-get install gcc-arm-linux-gnueabihf`
+# 2) cp cmake/Toolchain-Ubuntu-gnueabihf.cmake.sample ~/Toolchain-Ubuntu-gnueabihf.cmake
+# 3) tweak toolchain values as needed
+# 4) cd build
+# 5) cmake -DCMAKE_TOOLCHAIN_FILE=~/Toolchain-Ubuntu-gnueabihf.cmake ..
+
+# name of the target OS on which the built artifacts will run and the
+# toolchain prefix. if target is an embedded system without an OS, set
+# CMAKE_SYSTEM_NAME to `Generic`
+set(CMAKE_SYSTEM_NAME Linux)
+set(TOOLCHAIN_PREFIX arm-linux-gnueabihf)
+
+# cross compilers to use for C
+set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
+
+# target environment on the build host system
+# set 1st to dir with the cross compiler's C/C++ headers/libs
+# set 2nd to dir containing personal cross development headers/libs
+set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX} ~/crossdev/eabihf)
+
+# modify default behavior of FIND_XXX() commands to
+# search for headers/libs in the target environment and
+# search for programs in the build host environment
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)