Skip to content

Commit 217b670

Browse files
committed
Try the dynamic approach
1 parent 9c8d07a commit 217b670

File tree

1 file changed

+25
-29
lines changed

1 file changed

+25
-29
lines changed

eng/common/cross/toolchain.cmake

Lines changed: 25 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm")
4040
set(TOOLCHAIN "arm-linux-gnueabihf")
4141
endif()
4242
if(TIZEN)
43-
set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0")
43+
set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf")
4444
endif()
4545
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
4646
set(CMAKE_SYSTEM_PROCESSOR aarch64)
@@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
4949
elseif(LINUX)
5050
set(TOOLCHAIN "aarch64-linux-gnu")
5151
if(TIZEN)
52-
set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
52+
set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu")
5353
endif()
5454
elseif(FREEBSD)
5555
set(triple "aarch64-unknown-freebsd12")
@@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel")
5858
set(CMAKE_SYSTEM_PROCESSOR armv7l)
5959
set(TOOLCHAIN "arm-linux-gnueabi")
6060
if(TIZEN)
61-
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/14.1.0")
61+
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi")
6262
endif()
6363
elseif(TARGET_ARCH_NAME STREQUAL "armv6")
6464
set(CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -81,7 +81,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
8181
else()
8282
set(TOOLCHAIN "riscv64-linux-gnu")
8383
if(TIZEN)
84-
set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu/13.1.0")
84+
set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu")
8585
endif()
8686
endif()
8787
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
@@ -98,7 +98,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
9898
elseif(LINUX)
9999
set(TOOLCHAIN "x86_64-linux-gnu")
100100
if(TIZEN)
101-
set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
101+
set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu")
102102
endif()
103103
elseif(FREEBSD)
104104
set(triple "x86_64-unknown-freebsd12")
@@ -115,7 +115,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
115115
set(TOOLCHAIN "i686-linux-gnu")
116116
endif()
117117
if(TIZEN)
118-
set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
118+
set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu")
119119
endif()
120120
else()
121121
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
@@ -127,30 +127,26 @@ endif()
127127

128128
# Specify include paths
129129
if(TIZEN)
130-
if(TARGET_ARCH_NAME STREQUAL "arm")
131-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
132-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf)
133-
endif()
134-
if(TARGET_ARCH_NAME STREQUAL "armel")
135-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
136-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
137-
endif()
138-
if(TARGET_ARCH_NAME STREQUAL "arm64")
139-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
140-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
141-
endif()
142-
if(TARGET_ARCH_NAME STREQUAL "x86")
143-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
144-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
145-
endif()
146-
if(TARGET_ARCH_NAME STREQUAL "x64")
147-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
148-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
149-
endif()
150-
if(TARGET_ARCH_NAME STREQUAL "riscv64")
151-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
152-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/riscv64-tizen-linux-gnu)
130+
function(find_toolchain_dir prefix)
131+
# Dynamically find the version subdirectory
132+
file(GLOB DIRECTORIES "${prefix}/*")
133+
list(SORT DIRECTORIES)
134+
list(GET DIRECTORIES 0 FIRST_MATCH)
135+
get_filename_component(TOOLCHAIN_VERSION ${FIRST_MATCH} NAME)
136+
137+
set(TIZEN_TOOLCHAIN_PATH "${prefix}/${TOOLCHAIN_VERSION}/include/c++/" PARENT_SCOPE)
138+
139+
message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}")
140+
endfunction()
141+
142+
if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
143+
find_toolchain_dir(${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN})
144+
else()
145+
find_toolchain_dir(${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN})
153146
endif()
147+
148+
include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH})
149+
include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/${TIZEN_TOOLCHAIN})
154150
endif()
155151

156152
if(ANDROID)

0 commit comments

Comments
 (0)