2017-12-21 07:45:38 +08:00
|
|
|
#
|
2024-01-16 18:10:08 +08:00
|
|
|
# Copyright (C) 2018-2024 Intel Corporation
|
2017-12-21 07:45:38 +08:00
|
|
|
#
|
2018-09-18 15:11:08 +08:00
|
|
|
# SPDX-License-Identifier: MIT
|
2017-12-21 07:45:38 +08:00
|
|
|
#
|
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
set(MAX_CORE 64)
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
set(ALL_CORE_TYPES "")
|
|
|
|
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake${BRANCH_DIR_SUFFIX}fill_core_types.cmake)
|
2018-03-19 23:54:27 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
set(ALL_CORE_TYPES_REVERSED ${ALL_CORE_TYPES})
|
|
|
|
list(REVERSE ALL_CORE_TYPES_REVERSED)
|
2018-03-19 23:54:27 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
macro(FIND_IDX_FOR_CORE_TYPE CORE_TYPE CORE_IDX)
|
|
|
|
list(FIND ALL_CORE_TYPES "${CORE_TYPE}" CORE_IDX)
|
|
|
|
if(${CORE_IDX} EQUAL -1)
|
|
|
|
message(FATAL_ERROR "No ${CORE_TYPE} allowed, exiting")
|
2018-07-04 15:55:32 +08:00
|
|
|
endif()
|
|
|
|
endmacro()
|
2018-03-19 23:54:27 +08:00
|
|
|
|
2017-12-21 07:45:38 +08:00
|
|
|
macro(INIT_LIST LIST_TYPE ELEMENT_TYPE)
|
2021-11-24 17:38:00 +08:00
|
|
|
foreach(IT RANGE 0 ${MAX_CORE} 1)
|
2017-12-21 07:45:38 +08:00
|
|
|
list(APPEND ALL_${ELEMENT_TYPE}_${LIST_TYPE} " ")
|
2018-07-04 15:55:32 +08:00
|
|
|
endforeach()
|
|
|
|
endmacro()
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
macro(GET_LIST_FOR_CORE_TYPE LIST_TYPE ELEMENT_TYPE CORE_IDX OUT_LIST)
|
|
|
|
list(GET ALL_${ELEMENT_TYPE}_${LIST_TYPE} ${CORE_IDX} CORE_X_${LIST_TYPE})
|
|
|
|
string(REPLACE "," ";" ${OUT_LIST} ${CORE_X_${LIST_TYPE}})
|
2018-07-04 15:55:32 +08:00
|
|
|
endmacro()
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
macro(ADD_ITEM_FOR_CORE_TYPE LIST_TYPE ELEMENT_TYPE CORE_TYPE ITEM)
|
|
|
|
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
|
|
|
|
list(GET ALL_${ELEMENT_TYPE}_${LIST_TYPE} ${CORE_IDX} CORE_X_LIST)
|
|
|
|
string(REPLACE " " "" CORE_X_LIST ${CORE_X_LIST})
|
|
|
|
if("${CORE_X_LIST}" STREQUAL "")
|
|
|
|
set(CORE_X_LIST "${ITEM}")
|
2018-07-04 15:55:32 +08:00
|
|
|
else()
|
2021-11-24 17:38:00 +08:00
|
|
|
set(CORE_X_LIST "${CORE_X_LIST},${ITEM}")
|
2018-07-04 15:55:32 +08:00
|
|
|
endif()
|
2021-11-24 17:38:00 +08:00
|
|
|
list(REMOVE_AT ALL_${ELEMENT_TYPE}_${LIST_TYPE} ${CORE_IDX})
|
|
|
|
list(INSERT ALL_${ELEMENT_TYPE}_${LIST_TYPE} ${CORE_IDX} ${CORE_X_LIST})
|
2018-07-04 15:55:32 +08:00
|
|
|
endmacro()
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2023-03-10 06:00:24 +08:00
|
|
|
macro(CORE_CONTAINS_ANY_PLATFORM TYPE CORE_TYPE OUT_FLAG)
|
2021-11-24 17:38:00 +08:00
|
|
|
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
|
|
|
|
GET_LIST_FOR_CORE_TYPE("PLATFORMS" ${TYPE} ${CORE_IDX} CORE_X_PLATFORMS)
|
2023-03-10 06:00:24 +08:00
|
|
|
set(${OUT_FLAG} FALSE)
|
|
|
|
foreach(PLATFORM_IT ${CORE_X_PLATFORMS})
|
|
|
|
if(NOT ("${PLATFORM_IT}" STREQUAL " "))
|
|
|
|
set(${OUT_FLAG} TRUE)
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
macro(CORE_CONTAINS_PLATFORM TYPE CORE_TYPE PLATFORM_TYPE OUT_FLAG)
|
|
|
|
FIND_IDX_FOR_CORE_TYPE("${CORE_TYPE}" CORE_IDX)
|
|
|
|
GET_LIST_FOR_CORE_TYPE("PLATFORMS" "${TYPE}" ${CORE_IDX} CORE_X_PLATFORMS)
|
|
|
|
set(${OUT_FLAG} FALSE)
|
|
|
|
foreach(PLATFORM_IT ${CORE_X_PLATFORMS})
|
|
|
|
if("${PLATFORM_IT}" STREQUAL "${PLATFORM_TYPE}")
|
|
|
|
set(${OUT_FLAG} TRUE)
|
|
|
|
endif()
|
|
|
|
endforeach()
|
2018-07-04 15:55:32 +08:00
|
|
|
endmacro()
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2019-12-23 17:47:20 +08:00
|
|
|
macro(INIT_PRODUCTS_LIST TYPE)
|
|
|
|
list(APPEND ALL_${TYPE}_PRODUCT_FAMILY " ")
|
|
|
|
list(APPEND ALL_${TYPE}_PRODUCT_TO_PRODUCT_FAMILY " ")
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
macro(ADD_PRODUCT TYPE PRODUCT ITEM)
|
|
|
|
list(APPEND ALL_${TYPE}_PRODUCT_FAMILY ${ITEM})
|
|
|
|
list(APPEND ALL_${TYPE}_PRODUCT_TO_PRODUCT_FAMILY ${PRODUCT})
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
macro(GET_AVAILABLE_PRODUCTS TYPE PRODUCT_FAMILY_LIST DEFAULT_PRODUCT_FAMILY)
|
|
|
|
list(REMOVE_ITEM ALL_${TYPE}_PRODUCT_FAMILY " ")
|
|
|
|
list(REMOVE_ITEM ALL_${TYPE}_PRODUCT_TO_PRODUCT_FAMILY " ")
|
|
|
|
|
|
|
|
set(${PRODUCT_FAMILY_LIST} ${ALL_${TYPE}_PRODUCT_FAMILY})
|
|
|
|
set(${DEFAULT_PRODUCT_FAMILY})
|
|
|
|
|
|
|
|
if(NOT "${DEFAULT_${TYPE}_PLATFORM}" STREQUAL "")
|
|
|
|
list(FIND ALL_${TYPE}_PRODUCT_TO_PRODUCT_FAMILY ${DEFAULT_${TYPE}_PLATFORM} INDEX)
|
|
|
|
if(${INDEX} EQUAL -1)
|
|
|
|
message(FATAL_ERROR "${DEFAULT_${TYPE}_PLATFORM} not found in product families.")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
list(GET ALL_${TYPE}_PRODUCT_FAMILY ${INDEX} DEFAULT)
|
|
|
|
set(${DEFAULT_PRODUCT_FAMILY} ${DEFAULT})
|
|
|
|
endif()
|
|
|
|
endmacro()
|
|
|
|
|
2017-12-21 07:45:38 +08:00
|
|
|
macro(GET_AVAILABLE_PLATFORMS TYPE FLAG_NAME OUT_STR)
|
|
|
|
set(${TYPE}_PLATFORM_LIST)
|
2021-11-24 17:38:00 +08:00
|
|
|
set(${TYPE}_CORE_FLAGS_DEFINITONS)
|
2018-11-27 23:13:00 +08:00
|
|
|
if(NOT DEFAULT_${TYPE}_PLATFORM AND DEFINED PREFERRED_PLATFORM AND ${FLAG_NAME}_${PREFERRED_PLATFORM})
|
2018-07-04 15:55:32 +08:00
|
|
|
set(DEFAULT_${TYPE}_PLATFORM ${PREFERRED_PLATFORM})
|
|
|
|
endif()
|
2021-11-24 17:38:00 +08:00
|
|
|
foreach(CORE_TYPE ${ALL_CORE_TYPES_REVERSED})
|
2023-03-10 06:00:24 +08:00
|
|
|
set(COREX_HAS_PLATFORMS FALSE)
|
|
|
|
CORE_CONTAINS_ANY_PLATFORM("${TYPE}" ${CORE_TYPE} COREX_HAS_PLATFORMS)
|
2021-11-24 17:38:00 +08:00
|
|
|
if(${COREX_HAS_PLATFORMS})
|
|
|
|
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
|
|
|
|
list(APPEND ${TYPE}_CORE_FLAGS_DEFINITONS ${FLAG_NAME}_${CORE_TYPE})
|
|
|
|
GET_LIST_FOR_CORE_TYPE("PLATFORMS" ${TYPE} ${CORE_IDX} ${TYPE}_COREX_PLATFORMS)
|
|
|
|
list(APPEND ${TYPE}_PLATFORM_LIST ${${TYPE}_COREX_PLATFORMS})
|
2017-12-21 07:45:38 +08:00
|
|
|
if(NOT DEFAULT_${TYPE}_PLATFORM)
|
|
|
|
list(GET ${TYPE}_PLATFORM_LIST 0 DEFAULT_${TYPE}_PLATFORM ${PLATFORM_IT})
|
|
|
|
endif()
|
2021-11-24 17:38:00 +08:00
|
|
|
if(NOT DEFAULT_${TYPE}_${CORE_TYPE}_PLATFORM)
|
|
|
|
list(GET ${TYPE}_COREX_PLATFORMS 0 DEFAULT_${TYPE}_${CORE_TYPE}_PLATFORM)
|
2017-12-21 07:45:38 +08:00
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
foreach(PLATFORM_IT ${${TYPE}_PLATFORM_LIST})
|
|
|
|
set(${OUT_STR} "${${OUT_STR}} ${PLATFORM_IT}")
|
2021-11-24 17:38:00 +08:00
|
|
|
list(APPEND ${TYPE}_CORE_FLAGS_DEFINITONS ${FLAG_NAME}_${PLATFORM_IT})
|
2017-12-21 07:45:38 +08:00
|
|
|
endforeach()
|
2018-07-04 15:55:32 +08:00
|
|
|
endmacro()
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
macro(GET_PLATFORMS_FOR_CORE_TYPE TYPE CORE_TYPE OUT_LIST)
|
|
|
|
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
|
|
|
|
GET_LIST_FOR_CORE_TYPE("PLATFORMS" ${TYPE} ${CORE_IDX} ${OUT_LIST})
|
2018-07-04 15:55:32 +08:00
|
|
|
endmacro()
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
# default flag for CoreX devices support
|
|
|
|
set(SUPPORT_GEN_DEFAULT TRUE CACHE BOOL "default value for SUPPORT_COREx")
|
2017-12-21 07:45:38 +08:00
|
|
|
# default flag for platform support
|
|
|
|
set(SUPPORT_PLATFORM_DEFAULT TRUE CACHE BOOL "default value for support platform")
|
|
|
|
|
2018-01-09 17:55:47 +08:00
|
|
|
# Define the hardware configurations we support and test
|
2021-11-24 17:38:00 +08:00
|
|
|
macro(SET_FLAGS_FOR CORE_TYPE)
|
2020-12-30 20:23:06 +08:00
|
|
|
foreach(SKU_NAME ${ARGN})
|
|
|
|
if(SUPPORT_${SKU_NAME})
|
2021-11-24 17:38:00 +08:00
|
|
|
if(NOT SUPPORT_${CORE_TYPE})
|
|
|
|
message(STATUS "Auto-Enabling ${CORE_TYPE} support for ${SKU_NAME}")
|
2022-03-04 17:42:37 +08:00
|
|
|
set(SUPPORT_${CORE_TYPE} TRUE CACHE BOOL "Support ${CORE_TYPE} devices" FORCE)
|
2020-12-30 20:23:06 +08:00
|
|
|
endif()
|
2022-10-28 15:58:37 +08:00
|
|
|
endif()
|
|
|
|
if(TESTS_${SKU_NAME})
|
2022-03-04 17:42:37 +08:00
|
|
|
if(NOT TESTS_${CORE_TYPE})
|
2021-11-24 17:38:00 +08:00
|
|
|
message(STATUS "Auto-Enabling ${CORE_TYPE} tests for ${SKU_NAME}")
|
2022-03-04 17:42:37 +08:00
|
|
|
set(TESTS_${CORE_TYPE} TRUE CACHE BOOL "Build ULTs for ${CORE_TYPE} devices" FORCE)
|
2020-12-30 20:23:06 +08:00
|
|
|
endif()
|
|
|
|
endif()
|
2022-06-29 20:15:26 +08:00
|
|
|
string(TOLOWER ${CORE_TYPE} MAP_${SKU_NAME}_CORE_lower)
|
|
|
|
string(TOLOWER ${SKU_NAME} MAP_${SKU_NAME}_lower)
|
2022-06-30 17:04:47 +08:00
|
|
|
set(MAP_${SKU_NAME}_CORE_lower "${CORE_PREFIX}${MAP_${SKU_NAME}_CORE_lower}${CORE_SUFFIX}" CACHE STRING "Core name for SKU" FORCE)
|
2022-06-29 20:15:26 +08:00
|
|
|
set(MAP_${SKU_NAME}_lower ${MAP_${SKU_NAME}_lower} CACHE STRING "SKU in lower case" FORCE)
|
2020-12-30 20:23:06 +08:00
|
|
|
endforeach()
|
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
set(SUPPORT_${CORE_TYPE} ${SUPPORT_GEN_DEFAULT} CACHE BOOL "Support ${CORE_TYPE} devices")
|
|
|
|
set(TESTS_${CORE_TYPE} ${SUPPORT_${CORE_TYPE}} CACHE BOOL "Build ULTs for ${CORE_TYPE} devices")
|
2019-07-15 21:08:42 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
if(NOT SUPPORT_${CORE_TYPE} OR NEO_SKIP_UNIT_TESTS)
|
|
|
|
set(TESTS_${CORE_TYPE} FALSE)
|
2018-08-20 19:05:25 +08:00
|
|
|
endif()
|
2020-12-30 20:23:06 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
if(SUPPORT_${CORE_TYPE})
|
|
|
|
list(APPEND ALL_SUPPORTED_CORE_FAMILIES ${CORE_TYPE})
|
2021-04-23 21:54:19 +08:00
|
|
|
list(REMOVE_DUPLICATES ALL_SUPPORTED_CORE_FAMILIES)
|
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
foreach(${CORE_TYPE}_PLATFORM ${ARGN})
|
|
|
|
set(SUPPORT_${${CORE_TYPE}_PLATFORM} ${SUPPORT_PLATFORM_DEFAULT} CACHE BOOL "Support ${${CORE_TYPE}_PLATFORM}")
|
|
|
|
if(TESTS_${CORE_TYPE})
|
|
|
|
set(TESTS_${${CORE_TYPE}_PLATFORM} ${SUPPORT_${${CORE_TYPE}_PLATFORM}} CACHE BOOL "Build ULTs for ${${CORE_TYPE}_PLATFORM}")
|
2018-03-16 19:11:23 +08:00
|
|
|
endif()
|
2021-11-24 17:38:00 +08:00
|
|
|
if(NOT SUPPORT_${${CORE_TYPE}_PLATFORM} OR NOT TESTS_${CORE_TYPE} OR NEO_SKIP_UNIT_TESTS)
|
|
|
|
set(TESTS_${${CORE_TYPE}_PLATFORM} FALSE)
|
2018-03-16 19:11:23 +08:00
|
|
|
endif()
|
|
|
|
endforeach()
|
2018-01-09 17:55:47 +08:00
|
|
|
endif()
|
2021-04-23 21:54:19 +08:00
|
|
|
|
2021-11-24 17:38:00 +08:00
|
|
|
if(TESTS_${CORE_TYPE})
|
|
|
|
list(APPEND ALL_TESTED_CORE_FAMILIES ${CORE_TYPE})
|
2021-04-23 21:54:19 +08:00
|
|
|
list(REMOVE_DUPLICATES ALL_TESTED_CORE_FAMILIES)
|
|
|
|
endif()
|
2018-03-16 19:11:23 +08:00
|
|
|
endmacro()
|
2021-11-24 17:38:00 +08:00
|
|
|
|
2022-09-29 00:25:54 +08:00
|
|
|
macro(DISABLE_FLAGS_FOR CORE_TYPE)
|
|
|
|
set(SUPPORT_${CORE_TYPE} FALSE CACHE BOOL "Support ${CORE_TYPE} devices" FORCE)
|
|
|
|
set(TESTS_${CORE_TYPE} FALSE CACHE BOOL "Build ULTs for ${CORE_TYPE} devices" FORCE)
|
|
|
|
foreach(SKU_NAME ${ARGN})
|
|
|
|
set(SUPPORT_${SKU_NAME} FALSE CACHE BOOL "Support ${SKU_NAME}" FORCE)
|
|
|
|
set(TESTS_${SKU_NAME} FALSE CACHE BOOL "Build ULTs for ${SKU_NAME}" FORCE)
|
|
|
|
endforeach()
|
|
|
|
endmacro()
|
|
|
|
|
2024-09-13 23:03:33 +08:00
|
|
|
macro(DISABLE_32BIT_FLAGS_FOR CORE_TYPE)
|
|
|
|
DISABLE_FLAGS_FOR(${CORE_TYPE} ${ARGN})
|
|
|
|
endmacro()
|
|
|
|
|
2023-10-16 22:21:51 +08:00
|
|
|
macro(DISABLE_WDDM_LINUX_FOR CORE_TYPE)
|
|
|
|
if(SUPPORT_${CORE_TYPE})
|
|
|
|
foreach(SKU_NAME ${ARGN})
|
|
|
|
if(SUPPORT_${SKU_NAME})
|
|
|
|
list(APPEND PLATFORMS_TO_HAVE_WDDM_DISABLED ${SKU_NAME})
|
|
|
|
list(REMOVE_DUPLICATES PLATFORMS_TO_HAVE_WDDM_DISABLED)
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
endif()
|
|
|
|
endmacro()
|
|
|
|
|
2022-11-28 23:05:25 +08:00
|
|
|
macro(ADD_PLATFORM_FOR_CORE_TYPE LIST_TYPE CORE_TYPE PLATFORM_NAME)
|
2021-11-24 17:38:00 +08:00
|
|
|
ADD_ITEM_FOR_CORE_TYPE("PLATFORMS" ${LIST_TYPE} ${CORE_TYPE} ${PLATFORM_NAME})
|
2022-11-28 23:05:25 +08:00
|
|
|
set(${CORE_TYPE}_HAS_${PLATFORM_NAME} TRUE)
|
|
|
|
if(NOT DEFAULT_${LIST_TYPE}_${CORE_TYPE}_${PLATFORM_NAME}_PLATFORM)
|
|
|
|
string(TOLOWER ${PLATFORM_NAME} DEFAULT_${LIST_TYPE}_${CORE_TYPE}_${PLATFORM_NAME}_PLATFORM)
|
2018-04-18 00:11:50 +08:00
|
|
|
endif()
|
|
|
|
endmacro()
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2024-05-28 11:16:24 +08:00
|
|
|
macro(ENABLE_ADDITIONAL_SKU SKU_NAME)
|
|
|
|
set(SUPPORT_${SKU_NAME} TRUE CACHE BOOL "Support ${SKU_NAME}" FORCE)
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
macro(TEST_ADDITIONAL_SKU SKU_NAME)
|
|
|
|
set(TESTS_${SKU_NAME} TRUE CACHE BOOL "Build ULTs for ${SKU_NAME}" FORCE)
|
|
|
|
endmacro()
|
|
|
|
|
2024-05-21 22:09:32 +08:00
|
|
|
macro(ADD_AOT_DEFINITION CONFIG_NAME)
|
|
|
|
list(APPEND AOT_DEFINITIONS "SUPPORT_AOT_${CONFIG_NAME}")
|
|
|
|
endmacro()
|
|
|
|
|
2024-06-26 18:00:58 +08:00
|
|
|
macro(SET_FLAGS_FOR_LEGACY CORE_TYPE)
|
|
|
|
if(NEO_LEGACY_PLATFORMS_SUPPORT)
|
|
|
|
SET_FLAGS_FOR(${CORE_TYPE} ${ARGN})
|
|
|
|
else()
|
|
|
|
DISABLE_FLAGS_FOR(${CORE_TYPE} ${ARGN})
|
|
|
|
endif()
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
macro(SET_FLAGS_FOR_CURRENT CORE_TYPE)
|
|
|
|
if(NEO_CURRENT_PLATFORMS_SUPPORT)
|
|
|
|
SET_FLAGS_FOR(${CORE_TYPE} ${ARGN})
|
|
|
|
else()
|
|
|
|
DISABLE_FLAGS_FOR(${CORE_TYPE} ${ARGN})
|
|
|
|
endif()
|
|
|
|
endmacro()
|
2017-12-21 07:45:38 +08:00
|
|
|
# Init lists
|
|
|
|
INIT_LIST("FAMILY_NAME" "TESTED")
|
|
|
|
INIT_LIST("PLATFORMS" "SUPPORTED")
|
2020-04-22 00:52:36 +08:00
|
|
|
INIT_LIST("PLATFORMS" "SUPPORTED_IMAGES")
|
2021-10-08 18:10:38 +08:00
|
|
|
INIT_LIST("PLATFORMS" "SUPPORTED_AUX_TRANSLATION")
|
2017-12-21 07:45:38 +08:00
|
|
|
INIT_LIST("PLATFORMS" "TESTED")
|
2024-01-16 18:10:08 +08:00
|
|
|
INIT_LIST("PLATFORMS" "SUPPORTED_HEAPLESS")
|
2024-10-03 09:41:01 +08:00
|
|
|
INIT_LIST("PLATFORMS" "SUPPORTED_STATELESS")
|
2019-12-23 17:47:20 +08:00
|
|
|
INIT_PRODUCTS_LIST("TESTED")
|
2020-02-11 15:33:07 +08:00
|
|
|
INIT_PRODUCTS_LIST("SUPPORTED")
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2024-05-21 22:09:32 +08:00
|
|
|
set(AOT_DEFINITIONS)
|
|
|
|
|
2021-09-13 21:28:11 +08:00
|
|
|
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake${BRANCH_DIR_SUFFIX}setup_platform_flags.cmake)
|
2019-09-19 01:32:33 +08:00
|
|
|
|
2017-12-21 07:45:38 +08:00
|
|
|
# Get platform lists, flag definition and set default platforms
|
|
|
|
GET_AVAILABLE_PLATFORMS("SUPPORTED" "SUPPORT" ALL_AVAILABLE_SUPPORTED_PLATFORMS)
|
|
|
|
GET_AVAILABLE_PLATFORMS("TESTED" "TESTS" ALL_AVAILABLE_TESTED_PLATFORMS)
|
2019-12-23 17:47:20 +08:00
|
|
|
GET_AVAILABLE_PRODUCTS("TESTED" ALL_PRODUCT_FAMILY_LIST DEFAULT_TESTED_PRODUCT_FAMILY)
|
2020-02-11 15:33:07 +08:00
|
|
|
GET_AVAILABLE_PRODUCTS("SUPPORTED" ALL_PRODUCT_FAMILY_LIST DEFAULT_SUPPORTED_PRODUCT_FAMILY)
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2021-04-23 21:54:19 +08:00
|
|
|
# Output platforms
|
2017-12-21 07:45:38 +08:00
|
|
|
message(STATUS "All supported platforms: ${ALL_AVAILABLE_SUPPORTED_PLATFORMS}")
|
|
|
|
message(STATUS "All tested platforms: ${ALL_AVAILABLE_TESTED_PLATFORMS}")
|
|
|
|
message(STATUS "Default supported platform: ${DEFAULT_SUPPORTED_PLATFORM}")
|
2021-04-23 21:54:19 +08:00
|
|
|
message(STATUS "Default tested platform: ${DEFAULT_TESTED_PLATFORM}")
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2021-04-23 21:54:19 +08:00
|
|
|
# Output families
|
|
|
|
message(STATUS "All supported core families: ${ALL_SUPPORTED_CORE_FAMILIES}")
|
|
|
|
message(STATUS "All tested core families: ${ALL_TESTED_CORE_FAMILIES}")
|
2019-12-23 17:47:20 +08:00
|
|
|
|
2017-12-21 07:45:38 +08:00
|
|
|
list(FIND SUPPORTED_PLATFORM_LIST ${DEFAULT_SUPPORTED_PLATFORM} VALID_DEFAULT_SUPPORTED_PLATFORM)
|
|
|
|
if(VALID_DEFAULT_SUPPORTED_PLATFORM LESS 0)
|
|
|
|
message(FATAL_ERROR "Not a valid supported platform: ${DEFAULT_SUPPORTED_PLATFORM}")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(DEFAULT_TESTED_PLATFORM)
|
|
|
|
list(FIND TESTED_PLATFORM_LIST ${DEFAULT_TESTED_PLATFORM} VALID_DEFAULT_TESTED_PLATFORM)
|
|
|
|
if(VALID_DEFAULT_TESTED_PLATFORM LESS 0)
|
|
|
|
message(FATAL_ERROR "Not a valid tested platform: ${DEFAULT_TESTED_PLATFORM}")
|
|
|
|
endif()
|
2020-07-06 21:59:59 +08:00
|
|
|
else()
|
2021-11-10 18:34:06 +08:00
|
|
|
set(NEO_SKIP_UNIT_TESTS TRUE)
|
2017-12-21 07:45:38 +08:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT DEFAULT_TESTED_FAMILY_NAME)
|
2018-11-27 23:13:00 +08:00
|
|
|
if(DEFINED PREFERRED_FAMILY_NAME)
|
2021-11-24 17:38:00 +08:00
|
|
|
list(FIND ALL_TESTED_FAMILY_NAME ${PREFERRED_FAMILY_NAME} CORE_IDX)
|
|
|
|
if(${CORE_IDX} GREATER -1)
|
2018-11-27 23:13:00 +08:00
|
|
|
set(DEFAULT_TESTED_FAMILY_NAME ${PREFERRED_FAMILY_NAME})
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
if(NOT DEFINED DEFAULT_TESTED_FAMILY_NAME)
|
2021-11-24 17:38:00 +08:00
|
|
|
foreach(CORE_TYPE ${ALL_CORE_TYPES_REVERSED})
|
|
|
|
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
|
|
|
|
list(GET ALL_TESTED_FAMILY_NAME ${CORE_IDX} CORE_FAMILY_NAME)
|
|
|
|
if(NOT CORE_FAMILY_NAME STREQUAL " ")
|
|
|
|
set(DEFAULT_TESTED_FAMILY_NAME ${CORE_FAMILY_NAME})
|
2018-07-04 15:55:32 +08:00
|
|
|
break()
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
endif()
|
2017-12-21 07:45:38 +08:00
|
|
|
endif()
|
|
|
|
message(STATUS "Default tested family name: ${DEFAULT_TESTED_FAMILY_NAME}")
|