@@ -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)
@@ -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 ()
8787elseif (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 ()
120120else ()
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,25 @@ endif()
127127
128128# Specify include paths 
129129if (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 (GET  DIRECTORIES 0 FIRST_MATCH)
134+     get_filename_component (TOOLCHAIN_VERSION ${FIRST_MATCH}  NAME )
135+ 
136+     set (TIZEN_TOOLCHAIN_PATH "${prefix} /${TOOLCHAIN_VERSION} "  PARENT_SCOPE)
137+   endfunction ()
138+ 
139+   if (TARGET_ARCH_NAME MATCHES  "^(arm|armel|x86)$" )
140+     find_toolchain_dir("${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
141+   else ()
142+     find_toolchain_dir("${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
153143  endif ()
144+ 
145+   message (STATUS  "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH} " )
146+ 
147+   include_directories (SYSTEM  ${TIZEN_TOOLCHAIN_PATH} /include /c++)
148+   include_directories (SYSTEM  ${TIZEN_TOOLCHAIN_PATH} /include /c++/${TIZEN_TOOLCHAIN} )
154149endif ()
155150
156151if (ANDROID)
@@ -272,21 +267,21 @@ endif()
272267
273268if (TARGET_ARCH_NAME MATCHES  "^(arm|armel)$" )
274269  if (TIZEN)
275-     add_toolchain_linker_flag("-B${CROSS_ROOTFS}  /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } )
270+     add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
276271    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
277272    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib" )
278-     add_toolchain_linker_flag("-L${CROSS_ROOTFS}  /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } )
273+     add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
279274  endif ()
280275elseif (TARGET_ARCH_NAME MATCHES  "^(arm64|x64|riscv64)$" )
281276  if (TIZEN)
282-     add_toolchain_linker_flag("-B${CROSS_ROOTFS}  /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } )
277+     add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
283278    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib64" )
284279    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib64" )
285-     add_toolchain_linker_flag("-L${CROSS_ROOTFS}  /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } )
280+     add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
286281
287282    add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /lib64" )
288283    add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64" )
289-     add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}  /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } )
284+     add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH } " )
290285  endif ()
291286elseif (TARGET_ARCH_NAME STREQUAL  "s390x" )
292287  add_toolchain_linker_flag("--target=${TOOLCHAIN} " )
@@ -297,10 +292,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
297292  endif ()
298293  add_toolchain_linker_flag(-m32)
299294  if (TIZEN)
300-     add_toolchain_linker_flag("-B${CROSS_ROOTFS}  /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } )
295+     add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
301296    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
302297    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib" )
303-     add_toolchain_linker_flag("-L${CROSS_ROOTFS}  /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } )
298+     add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
304299  endif ()
305300elseif (ILLUMOS)
306301  add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib/amd64" )
0 commit comments