@@ -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/14.1.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,26 @@ 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 (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} )
154150endif ()
155151
156152if (ANDROID)
0 commit comments