diff options
author | Ben Hilburn <ben.hilburn@ettus.com> | 2013-12-11 18:10:06 -0800 |
---|---|---|
committer | Ben Hilburn <ben.hilburn@ettus.com> | 2013-12-11 18:10:06 -0800 |
commit | 4d7c800b7375f98b9a26d0d1612d7d927fcc6fe9 (patch) | |
tree | c99fa07c139ad1c7103a214630202c8ea1a3627a /host/cmake | |
parent | 51de21efd7be72bca90481716fe04ffb7002ecfb (diff) | |
download | uhd-4d7c800b7375f98b9a26d0d1612d7d927fcc6fe9.tar.gz uhd-4d7c800b7375f98b9a26d0d1612d7d927fcc6fe9.tar.bz2 uhd-4d7c800b7375f98b9a26d0d1612d7d927fcc6fe9.zip |
Merging Philip Balister's work for ARM cross-compilation.
Diffstat (limited to 'host/cmake')
-rw-r--r-- | host/cmake/Modules/UHDUnitTest.cmake | 6 | ||||
-rw-r--r-- | host/cmake/Toolchains/armv7athf_native.cmake | 8 | ||||
-rw-r--r-- | host/cmake/Toolchains/oe-sdk_cross.cmake | 13 |
3 files changed, 26 insertions, 1 deletions
diff --git a/host/cmake/Modules/UHDUnitTest.cmake b/host/cmake/Modules/UHDUnitTest.cmake index 47cddc521..76fec14b8 100644 --- a/host/cmake/Modules/UHDUnitTest.cmake +++ b/host/cmake/Modules/UHDUnitTest.cmake @@ -64,7 +64,11 @@ function(UHD_ADD_TEST test_name) list(APPEND environs "PATH=${binpath}" "${LD_PATH_VAR}=${libpath}") #generate a bat file that sets the environment and runs the test - find_program(SHELL sh) + if (CMAKE_CROSSCOMPILING) + set(SHELL "/bin/sh") + else(CMAKE_CROSSCOMPILING) + find_program(SHELL sh) + endif(CMAKE_CROSSCOMPILING) set(sh_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.sh) file(WRITE ${sh_file} "#!${SHELL}\n") #each line sets an environment variable diff --git a/host/cmake/Toolchains/armv7athf_native.cmake b/host/cmake/Toolchains/armv7athf_native.cmake new file mode 100644 index 000000000..d9d1e2598 --- /dev/null +++ b/host/cmake/Toolchains/armv7athf_native.cmake @@ -0,0 +1,8 @@ +######################################################################## +# Toolchain file for building native on a ARM Cortex A8 w/ NEON +# Usage: cmake -DCMAKE_TOOLCHAIN_FILE=<this file> <source directory> +######################################################################## +set(CMAKE_CXX_COMPILER g++) +set(CMAKE_C_COMPILER gcc) +set(CMAKE_CXX_FLAGS "-march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard" CACHE STRING "" FORCE) +set(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE) #same flags for C sources diff --git a/host/cmake/Toolchains/oe-sdk_cross.cmake b/host/cmake/Toolchains/oe-sdk_cross.cmake new file mode 100644 index 000000000..ea77815c9 --- /dev/null +++ b/host/cmake/Toolchains/oe-sdk_cross.cmake @@ -0,0 +1,13 @@ +set( CMAKE_SYSTEM_NAME Linux ) +#set( CMAKE_C_COMPILER $ENV{CC} ) +#set( CMAKE_CXX_COMPILER $ENV{CXX} ) +set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE ) +set( CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE ) #same flags for C sources +set( CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE ) #same flags for C sources +set( CMAKE_LIBRARY_PATH ${OECORE_TARGET_SYSROOT}/usr/lib ) +set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_NATIVE_SYSROOT} $ENV{OECORE_TARGET_SYSROOT} ) +set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) +set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) +set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) +set ( ORC_INCLUDE_DIRS $ENV{OECORE_TARGET_SYSROOT}/usr/include/orc-0.4 ) +set ( ORC_LIBRARY_DIRS $ENV{OECORE_TARGET_SYSROOT}/usr/lib ) |