@@ -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