@@ -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 ()
4545elseif (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/9.2.0 " )
61+ set (TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi" )
6262 endif ()
6363elseif (TARGET_ARCH_NAME STREQUAL "armv6" )
6464 set (CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -95,7 +95,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
9595 elseif (LINUX)
9696 set (TOOLCHAIN "x86_64-linux-gnu" )
9797 if (TIZEN)
98- set (TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0 " )
98+ set (TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu" )
9999 endif ()
100100 elseif (FREEBSD)
101101 set (triple "x86_64-unknown-freebsd12" )
@@ -112,7 +112,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
112112 set (TOOLCHAIN "i686-linux-gnu" )
113113 endif ()
114114 if (TIZEN)
115- set (TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0 " )
115+ set (TIZEN_TOOLCHAIN "i586-tizen-linux-gnu" )
116116 endif ()
117117else ()
118118 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()
124124
125125# Specify include paths
126126if (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} " )
146140 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} )
147146endif ()
148147
149148if (ANDROID)
@@ -265,21 +264,21 @@ endif()
265264
266265if (TARGET_ARCH_NAME MATCHES "^(arm|armel)$" )
267266 if (TIZEN)
268- add_toolchain_linker_flag("-B${CROSS_ROOTFS} /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } " )
267+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
269268 add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
270269 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 } " )
272271 endif ()
273272elseif (TARGET_ARCH_NAME MATCHES "^(arm64|x64)$" )
274273 if (TIZEN)
275- add_toolchain_linker_flag("-B${CROSS_ROOTFS} /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } " )
274+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
276275 add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib64" )
277276 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 } " )
279278
280279 add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /lib64" )
281280 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 } " )
283282 endif ()
284283elseif (TARGET_ARCH_NAME STREQUAL "x86" )
285284 if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/i586-alpine-linux-musl)
@@ -288,10 +287,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
288287 endif ()
289288 add_toolchain_linker_flag(-m32)
290289 if (TIZEN)
291- add_toolchain_linker_flag("-B${CROSS_ROOTFS} /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } " )
290+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
292291 add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
293292 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 } " )
295294 endif ()
296295elseif (ILLUMOS)
297296 add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib/amd64" )
0 commit comments