1# Distributed under the OSI-approved BSD 3-Clause License. See accompanying 2# file Copyright.txt or https://cmake.org/licensing for details. 3 4#Setup Green Hills MULTI specific compilation information 5 6if(CMAKE_HOST_UNIX) 7 set(GHS_OS_ROOT "/usr/ghs" CACHE PATH "GHS platform OS search root directory") 8else() 9 set(GHS_OS_ROOT "C:/ghs" CACHE PATH "GHS platform OS search root directory") 10endif() 11mark_as_advanced(GHS_OS_ROOT) 12 13set(GHS_OS_DIR "NOTFOUND" CACHE PATH "GHS platform OS directory") 14mark_as_advanced(GHS_OS_DIR) 15 16set(GHS_OS_DIR_OPTION "-os_dir " CACHE STRING "GHS compiler OS option") 17mark_as_advanced(GHS_OS_DIR_OPTION) 18 19#set GHS_OS_DIR if not set by user 20if(NOT GHS_OS_DIR) 21 if(EXISTS ${GHS_OS_ROOT}) 22 23 #get all directories in root directory 24 FILE(GLOB GHS_CANDIDATE_OS_DIRS 25 LIST_DIRECTORIES true RELATIVE ${GHS_OS_ROOT} ${GHS_OS_ROOT}/*) 26 FILE(GLOB GHS_CANDIDATE_OS_FILES 27 LIST_DIRECTORIES false RELATIVE ${GHS_OS_ROOT} ${GHS_OS_ROOT}/*) 28 if(GHS_CANDIDATE_OS_FILES) 29 list(REMOVE_ITEM GHS_CANDIDATE_OS_DIRS ${GHS_CANDIDATE_OS_FILES}) 30 endif () 31 32 #filter based on platform name 33 if(GHS_TARGET_PLATFORM MATCHES "integrity") 34 list(FILTER GHS_CANDIDATE_OS_DIRS INCLUDE REGEX "int[0-9][0-9][0-9][0-9a-z]") 35 else() #fall-back for standalone 36 unset(GHS_CANDIDATE_OS_DIRS) 37 set(GHS_OS_DIR "IGNORE") 38 endif() 39 40 if(GHS_CANDIDATE_OS_DIRS) 41 list(SORT GHS_CANDIDATE_OS_DIRS) 42 list(GET GHS_CANDIDATE_OS_DIRS -1 GHS_OS_DIR) 43 string(CONCAT GHS_OS_DIR ${GHS_OS_ROOT} "/" ${GHS_OS_DIR}) 44 endif() 45 46 #update cache with new value 47 set(GHS_OS_DIR "${GHS_OS_DIR}" CACHE PATH "GHS platform OS directory" FORCE) 48 endif() 49endif() 50 51set(GHS_BSP_NAME "IGNORE" CACHE STRING "BSP name") 52 53set(GHS_CUSTOMIZATION "" CACHE FILEPATH "optional GHS customization") 54mark_as_advanced(GHS_CUSTOMIZATION) 55set(GHS_GPJ_MACROS "" CACHE STRING "optional GHS macros generated in the .gpjs for legacy reasons") 56mark_as_advanced(GHS_GPJ_MACROS) 57