swh:1:snp:2c68c8bd649bf1bd2cf3bf7bd4f98d247b82b5dc
Raw File
Tip revision: 8cee0dae7fb134da9f7c81d110f3a773bf302863 authored by Andrew Adams on 23 August 2020, 21:39:07 UTC
Check for duplicate vars in calls to reorder/reorder_storage
Tip revision: 8cee0da
HalideTargetHelpers.cmake
##
# Cache variable to control the global target for add_halide_library.
##

if (NOT "$ENV{HL_TARGET}" STREQUAL "")
    set(Halide_TARGET "$ENV{HL_TARGET}" CACHE STRING "The target to use when compiling AOT tests")
else ()
    set(Halide_TARGET "" CACHE STRING "The target to use when compiling AOT tests")
endif ()

##
# Utilities for manipulating Halide target triples
##

function(_Halide_auto_target OUTVAR)
    _Halide_cmake_target(cmake_target)
    if (Halide_HOST_TARGET STREQUAL cmake_target)
        set(${OUTVAR} host PARENT_SCOPE)
    else ()
        set(${OUTVAR} ${cmake} PARENT_SCOPE)
    endif ()
endfunction()

function(_Halide_triple OUTVAR)
    # Well-formed targets must either start with "host" or a target triple.
    if (ARGN MATCHES "host")
        set(${OUTVAR} ${Halide_HOST_TARGET})
    else ()
        string(REGEX REPLACE "^([^-]+-[^-]+-[^-]+).*$" "\\1" ${OUTVAR} "${ARGN}")
    endif ()
    set(${OUTVAR} "${${OUTVAR}}" PARENT_SCOPE)
endfunction()

function(_Halide_cmake_target OUTVAR)
    # Get arch from CMake
    string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" arch)
    list(TRANSFORM arch REPLACE  "^.*(x86|arm|mips|powerpc|hexagon|wasm|riscv).*$" "\\1")
    list(TRANSFORM arch REPLACE "^i.?86.+$" "x86")
    list(TRANSFORM arch REPLACE "^(amd|ia|em)64t?$" "x86")
    list(TRANSFORM arch REPLACE "^ppc(64)?$" "powerpc")

    # Get bits from CMake
    math(EXPR bits "8 * ${CMAKE_SIZEOF_VOID_P}")

    # Get OS from CMake
    string(TOLOWER "${CMAKE_SYSTEM_NAME}" os)
    list(TRANSFORM os REPLACE "^darwin$" "osx")

    set(${OUTVAR} "${arch}-${bits}-${os}" PARENT_SCOPE)
endfunction()

##
# Set Halide_HOST_TARGET when we're compiling Halide (this variable is set by package scripts)
##

if (NOT DEFINED Halide_HOST_TARGET)
    _Halide_cmake_target(Halide_HOST_TARGET)
endif ()
back to top