Skip to content

Commit 0cc895d

Browse files
jajanuszlgirdwood
authored andcommitted
cmake: cmocka: add toolchain file for xt
It's needed to make cmocka build correctly for generic instead of unix system Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
1 parent 6f88295 commit 0cc895d

2 files changed

Lines changed: 29 additions & 1 deletion

File tree

test/cmocka/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ else()
1515
PREFIX "${PROJECT_BINARY_DIR}/cmocka_git"
1616
BINARY_DIR ${cmocka_binary_directory}
1717
CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release
18-
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
18+
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmocka-xtensa-xt-toolchain.cmake
1919
-DWITH_SHARED_LIB=OFF
2020
-DWITH_STATIC_LIB=ON
2121
-DWITH_EXAMPLES=OFF
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
message(STATUS "Preparing Xtensa toolchain")
2+
3+
set(CMAKE_SYSTEM_NAME Generic)
4+
set(CMAKE_SYSTEM_VERSION 1)
5+
6+
set(CMAKE_ASM_COMPILER_FORCED 1)
7+
set(CMAKE_C_COMPILER_FORCED 1)
8+
9+
set(CMAKE_ASM_COMPILER_ID GNU)
10+
set(CMAKE_C_COMPILER_ID GNU)
11+
12+
set(CROSS_COMPILE "xt-")
13+
14+
set(CMAKE_C_COMPILER ${CROSS_COMPILE}xcc)
15+
16+
set(CMAKE_LD ${CROSS_COMPILE}ld CACHE STRING "")
17+
set(CMAKE_AR ${CROSS_COMPILE}ar CACHE STRING "")
18+
set(CMAKE_OBJCOPY ${CROSS_COMPILE}objcopy)
19+
set(CMAKE_OBJDUMP ${CROSS_COMPILE}objdump)
20+
21+
set(CMAKE_FIND_ROOT_PATH ".")
22+
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
23+
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
24+
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
25+
26+
# Cmocka is written in C99, but for some reason it sets this flag, only on Posix
27+
# We set up it here, because our system is Generic
28+
add_definitions("-std=gnu99")

0 commit comments

Comments
 (0)