@@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm")
40
40
set (TOOLCHAIN "arm-linux-gnueabihf" )
41
41
endif ()
42
42
if (TIZEN)
43
- set (TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0 " )
43
+ set (TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf" )
44
44
endif ()
45
45
elseif (TARGET_ARCH_NAME STREQUAL "arm64" )
46
46
set (CMAKE_SYSTEM_PROCESSOR aarch64)
@@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
49
49
elseif (LINUX)
50
50
set (TOOLCHAIN "aarch64-linux-gnu" )
51
51
if (TIZEN)
52
- set (TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0 " )
52
+ set (TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu" )
53
53
endif ()
54
54
elseif (FREEBSD)
55
55
set (triple "aarch64-unknown-freebsd12" )
@@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel")
58
58
set (CMAKE_SYSTEM_PROCESSOR armv7l)
59
59
set (TOOLCHAIN "arm-linux-gnueabi" )
60
60
if (TIZEN)
61
- set (TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0 " )
61
+ set (TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi" )
62
62
endif ()
63
63
elseif (TARGET_ARCH_NAME STREQUAL "armv6" )
64
64
set (CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -95,7 +95,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
95
95
elseif (LINUX)
96
96
set (TOOLCHAIN "x86_64-linux-gnu" )
97
97
if (TIZEN)
98
- set (TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0 " )
98
+ set (TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu" )
99
99
endif ()
100
100
elseif (FREEBSD)
101
101
set (triple "x86_64-unknown-freebsd12" )
@@ -112,7 +112,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
112
112
set (TOOLCHAIN "i686-linux-gnu" )
113
113
endif ()
114
114
if (TIZEN)
115
- set (TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0 " )
115
+ set (TIZEN_TOOLCHAIN "i586-tizen-linux-gnu" )
116
116
endif ()
117
117
else ()
118
118
message (FATAL_ERROR "Arch is ${TARGET_ARCH_NAME} . Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!" )
@@ -124,26 +124,25 @@ endif()
124
124
125
125
# Specify include paths
126
126
if (TIZEN)
127
- if (TARGET_ARCH_NAME STREQUAL "arm" )
128
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
129
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/armv7hl-tizen-linux-gnueabihf)
130
- endif ()
131
- if (TARGET_ARCH_NAME STREQUAL "armel" )
132
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
133
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/armv7l-tizen-linux-gnueabi)
134
- endif ()
135
- if (TARGET_ARCH_NAME STREQUAL "arm64" )
136
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
137
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} /include /c++/aarch64-tizen-linux-gnu)
138
- endif ()
139
- if (TARGET_ARCH_NAME STREQUAL "x86" )
140
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
141
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/i586-tizen-linux-gnu)
142
- endif ()
143
- if (TARGET_ARCH_NAME STREQUAL "x64" )
144
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
145
- include_directories (SYSTEM ${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} /include /c++/x86_64-tizen-linux-gnu)
127
+ function (find_toolchain_dir prefix )
128
+ # Dynamically find the version subdirectory
129
+ file (GLOB DIRECTORIES "${prefix} /*" )
130
+ list (GET DIRECTORIES 0 FIRST_MATCH)
131
+ get_filename_component (TOOLCHAIN_VERSION ${FIRST_MATCH} NAME )
132
+
133
+ set (TIZEN_TOOLCHAIN_PATH "${prefix} /${TOOLCHAIN_VERSION} " PARENT_SCOPE)
134
+ endfunction ()
135
+
136
+ if (TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$" )
137
+ find_toolchain_dir("${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
138
+ else ()
139
+ find_toolchain_dir("${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
146
140
endif ()
141
+
142
+ message (STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH} " )
143
+
144
+ include_directories (SYSTEM ${TIZEN_TOOLCHAIN_PATH} /include /c++)
145
+ include_directories (SYSTEM ${TIZEN_TOOLCHAIN_PATH} /include /c++/${TIZEN_TOOLCHAIN} )
147
146
endif ()
148
147
149
148
if (ANDROID)
@@ -265,21 +264,21 @@ endif()
265
264
266
265
if (TARGET_ARCH_NAME MATCHES "^(arm|armel)$" )
267
266
if (TIZEN)
268
- add_toolchain_linker_flag("-B${CROSS_ROOTFS} /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } " )
267
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
269
268
add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
270
269
add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib" )
271
- add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } " )
270
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
272
271
endif ()
273
272
elseif (TARGET_ARCH_NAME MATCHES "^(arm64|x64)$" )
274
273
if (TIZEN)
275
- add_toolchain_linker_flag("-B${CROSS_ROOTFS} /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } " )
274
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
276
275
add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib64" )
277
276
add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib64" )
278
- add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } " )
277
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
279
278
280
279
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /lib64" )
281
280
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64" )
282
- add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } " )
281
+ add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH } " )
283
282
endif ()
284
283
elseif (TARGET_ARCH_NAME STREQUAL "x86" )
285
284
if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/i586-alpine-linux-musl)
@@ -288,10 +287,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
288
287
endif ()
289
288
add_toolchain_linker_flag(-m32)
290
289
if (TIZEN)
291
- add_toolchain_linker_flag("-B${CROSS_ROOTFS} /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } " )
290
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
292
291
add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
293
292
add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib" )
294
- add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } " )
293
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
295
294
endif ()
296
295
elseif (ILLUMOS)
297
296
add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib/amd64" )
0 commit comments