1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file Copyright.txt or https://cmake.org/licensing for details.
- #Setup Green Hills MULTI specific compilation information
- if(CMAKE_HOST_UNIX)
- set(GHS_OS_ROOT "/usr/ghs" CACHE PATH "GHS platform OS search root directory")
- else()
- set(GHS_OS_ROOT "C:/ghs" CACHE PATH "GHS platform OS search root directory")
- endif()
- mark_as_advanced(GHS_OS_ROOT)
- set(GHS_OS_DIR "NOTFOUND" CACHE PATH "GHS platform OS directory")
- mark_as_advanced(GHS_OS_DIR)
- set(GHS_OS_DIR_OPTION "-os_dir " CACHE STRING "GHS compiler OS option")
- mark_as_advanced(GHS_OS_DIR_OPTION)
- #set GHS_OS_DIR if not set by user
- if(NOT GHS_OS_DIR)
- if(EXISTS ${GHS_OS_ROOT})
- #get all directories in root directory
- FILE(GLOB GHS_CANDIDATE_OS_DIRS
- LIST_DIRECTORIES true RELATIVE ${GHS_OS_ROOT} ${GHS_OS_ROOT}/*)
- FILE(GLOB GHS_CANDIDATE_OS_FILES
- LIST_DIRECTORIES false RELATIVE ${GHS_OS_ROOT} ${GHS_OS_ROOT}/*)
- if(GHS_CANDIDATE_OS_FILES)
- list(REMOVE_ITEM GHS_CANDIDATE_OS_DIRS ${GHS_CANDIDATE_OS_FILES})
- endif ()
- #filter based on platform name
- if(GHS_TARGET_PLATFORM MATCHES "integrity")
- list(FILTER GHS_CANDIDATE_OS_DIRS INCLUDE REGEX "int[0-9][0-9][0-9][0-9a-z]")
- else() #fall-back for standalone
- unset(GHS_CANDIDATE_OS_DIRS)
- set(GHS_OS_DIR "IGNORE")
- endif()
- if(GHS_CANDIDATE_OS_DIRS)
- list(SORT GHS_CANDIDATE_OS_DIRS)
- list(GET GHS_CANDIDATE_OS_DIRS -1 GHS_OS_DIR)
- string(CONCAT GHS_OS_DIR ${GHS_OS_ROOT} "/" ${GHS_OS_DIR})
- endif()
- #update cache with new value
- set(GHS_OS_DIR "${GHS_OS_DIR}" CACHE PATH "GHS platform OS directory" FORCE)
- endif()
- endif()
- set(GHS_BSP_NAME "IGNORE" CACHE STRING "BSP name")
- set(GHS_CUSTOMIZATION "" CACHE FILEPATH "optional GHS customization")
- mark_as_advanced(GHS_CUSTOMIZATION)
- set(GHS_GPJ_MACROS "" CACHE STRING "optional GHS macros generated in the .gpjs for legacy reasons")
- mark_as_advanced(GHS_GPJ_MACROS)
|