1include(Compiler/TI) 2__compiler_ti(CXX) 3 4# Architecture specific 5 6if("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM") 7 set(__COMPILER_TI_CXX03_VERSION 5.2) 8 set(__COMPILER_TI_CXX14_VERSION 18.1) 9 10elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "MSP430") 11 set(__COMPILER_TI_CXX03_VERSION 4.4) 12 set(__COMPILER_TI_CXX14_VERSION 18.1) 13 14elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "TMS320C28x") 15 set(__COMPILER_TI_CXX03_VERSION 16.9) 16 17elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "TMS320C6x") 18 set(__COMPILER_TI_CXX03_VERSION 8.1) 19 set(__COMPILER_TI_CXX14_VERSION 8.3) 20 21else() 22 # architecture not handled 23 return() 24 25endif() 26 27 28if(DEFINED __COMPILER_TI_CXX14_VERSION AND 29 CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "${__COMPILER_TI_CXX14_VERSION}") 30 31 # C++03 is not supported anymore 32 set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "--strict_ansi") 33 set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "--relaxed_ansi") 34 35 # C++11 was never supported 36 set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "--strict_ansi") 37 set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "--relaxed_ansi") 38 39 set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "--c++14" "--strict_ansi") 40 set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "--c++14" "--relaxed_ansi") 41 42 43elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "${__COMPILER_TI_CXX03_VERSION}") 44 45 set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "--c++03" "--strict_ansi") 46 set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "--c++03" "--relaxed_ansi") 47 48else() 49 50 set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "--strict_ansi") 51 set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "--relaxed_ansi") 52 53endif() 54 55 56# Architecture specific 57# CXX98 versions: https://processors.wiki.ti.com/index.php/C%2B%2B_Support_in_TI_Compilers 58 59if("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM") 60 __compiler_check_default_language_standard(CXX 4.5 98 ${__COMPILER_TI_CXX14_VERSION} 14) 61 62elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "MSP430") 63 __compiler_check_default_language_standard(CXX 3.0 98 ${__COMPILER_TI_CXX14_VERSION} 14) 64 65elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "TMS320C28x") 66 __compiler_check_default_language_standard(CXX 5.1 98) 67 68elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "TMS320C6x") 69 __compiler_check_default_language_standard(CXX 6.1 98 ${__COMPILER_TI_CXX14_VERSION} 14) 70 71endif() 72