diff options
author | fuzzard <fuzzard@users.noreply.github.com> | 2024-05-09 17:59:12 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-09 17:59:12 +1000 |
commit | 196a2e4244743f3a28cd217af5d1176ebf4f1c2e (patch) | |
tree | f75239a2f45841e819338fb358dac62137fb0b5c | |
parent | f5a57894c9d5c0788f71225bdb26059ddc5e3fcc (diff) | |
parent | a0fdbfd14dfc95ea7cb0e5b50e329a175b8b71be (diff) | |
download | xbmc-196a2e4244743f3a28cd217af5d1176ebf4f1c2e.tar.xz |
Merge pull request #23944 from howie-f/v21-cmake-execute-process
[cmake] 3.28 change exec_program to execute_process
-rw-r--r-- | cmake/modules/FindSSE.cmake | 72 |
1 files changed, 18 insertions, 54 deletions
diff --git a/cmake/modules/FindSSE.cmake b/cmake/modules/FindSSE.cmake index d9d5c7af08..f367e2dac8 100644 --- a/cmake/modules/FindSSE.cmake +++ b/cmake/modules/FindSSE.cmake @@ -4,74 +4,74 @@ include(TestCXXAcceptsFlag) if(CMAKE_SYSTEM_NAME MATCHES "Linux") if(CPU MATCHES "x86_64" OR CPU MATCHES "i.86") - exec_program(cat ARGS "/proc/cpuinfo" OUTPUT_VARIABLE CPUINFO) + execute_process(COMMAND cat /proc/cpuinfo OUTPUT_VARIABLE CPUINFO) - string(REGEX REPLACE "^.*(sse).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(sse).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "sse" "${_SSE_THERE}" _SSE_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse" _SSE_OK) - string(REGEX REPLACE "^.*(sse2).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(sse2).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "sse2" "${_SSE_THERE}" _SSE2_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse2" _SSE2_OK) # SSE3 is also known as the Prescott New Instructions (PNI) # it's labeled as pni in /proc/cpuinfo - string(REGEX REPLACE "^.*(pni).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(pni).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "pni" "${_SSE_THERE}" _SSE3_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse3" _SSE3_OK) - string(REGEX REPLACE "^.*(ssse3).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(ssse3).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "ssse3" "${_SSE_THERE}" _SSSE3_TRUE) CHECK_CXX_ACCEPTS_FLAG("-mssse3" _SSSE3_OK) - string(REGEX REPLACE "^.*(sse4_1).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(sse4_1).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "sse4_1" "${_SSE_THERE}" _SSE41_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse4.1" _SSE41_OK) - string(REGEX REPLACE "^.*(sse4_2).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(sse4_2).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "sse4_2" "${_SSE_THERE}" _SSE42_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse4.2" _SSE42_OK) - string(REGEX REPLACE "^.*(avx).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(avx).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "avx" "${_SSE_THERE}" _AVX_TRUE) CHECK_CXX_ACCEPTS_FLAG("-mavx" _AVX_OK) - string(REGEX REPLACE "^.*(avx2).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(avx2).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "avx2" "${_SSE_THERE}" _AVX2_TRUE) CHECK_CXX_ACCEPTS_FLAG("-mavx2" _AVX2_OK) endif() elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") if(CPU MATCHES "amd64" OR CPU MATCHES "i.86") - exec_program(cat ARGS "/var/run/dmesg.boot | grep Features" OUTPUT_VARIABLE CPUINFO) + execute_process(COMMAND grep Features /var/run/dmesg.boot OUTPUT_VARIABLE CPUINFO) - string(REGEX REPLACE "^.*(SSE).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(SSE).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "SSE" "${_SSE_THERE}" _SSE_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse" _SSE_OK) - string(REGEX REPLACE "^.*(SSE2).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(SSE2).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "SSE2" "${_SSE_THERE}" _SSE2_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse2" _SSE2_OK) - string(REGEX REPLACE "^.*(SSE3).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(SSE3).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "SSE3" "${_SSE_THERE}" _SSE3_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse3" _SSE3_OK) - string(REGEX REPLACE "^.*(SSSE3).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(SSSE3).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "SSSE3" "${_SSE_THERE}" _SSSE3_TRUE) CHECK_CXX_ACCEPTS_FLAG("-mssse3" _SSSE3_OK) - string(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "SSE4.1" "${_SSE_THERE}" _SSE41_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse4.1" _SSE41_OK) - string(REGEX REPLACE "^.*(SSE4.2).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(SSE4.2).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "SSE4.2" "${_SSE_THERE}" _SSE42_TRUE) CHECK_CXX_ACCEPTS_FLAG("-msse4.2" _SSE42_OK) - string(REGEX REPLACE "^.*(AVX).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(AVX).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "AVX" "${_SSE_THERE}" _AVX_TRUE) CHECK_CXX_ACCEPTS_FLAG("-mavx" _AVX_OK) - string(REGEX REPLACE "^.*(AVX2).*$" "\\1" _SSE_THERE ${CPUINFO}) + string(REGEX REPLACE "^.*(AVX2).*$" "\\1" _SSE_THERE "${CPUINFO}") string(COMPARE EQUAL "AVX2" "${_SSE_THERE}" _AVX2_TRUE) CHECK_CXX_ACCEPTS_FLAG("-mavx2" _AVX2_OK) endif() @@ -91,42 +91,6 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Android") CHECK_CXX_ACCEPTS_FLAG("-mavx" _AVX_OK) CHECK_CXX_ACCEPTS_FLAG("-mavx2" _AVX2_OK) endif() -elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin") - if(NOT CPU MATCHES "arm") - exec_program("/usr/sbin/sysctl -n machdep.cpu.features machdep.cpu.leaf7_features" OUTPUT_VARIABLE CPUINFO) - - string(REGEX REPLACE "^.*[^S](SSE).*$" "\\1" _SSE_THERE ${CPUINFO}) - string(COMPARE EQUAL "SSE" "${_SSE_THERE}" _SSE_TRUE) - CHECK_CXX_ACCEPTS_FLAG("-msse" _SSE_OK) - - string(REGEX REPLACE "^.*[^S](SSE2).*$" "\\1" _SSE_THERE ${CPUINFO}) - string(COMPARE EQUAL "SSE2" "${_SSE_THERE}" _SSE2_TRUE) - CHECK_CXX_ACCEPTS_FLAG("-msse2" _SSE2_OK) - - string(REGEX REPLACE "^.*[^S](SSE3).*$" "\\1" _SSE_THERE ${CPUINFO}) - string(COMPARE EQUAL "SSE3" "${_SSE_THERE}" _SSE3_TRUE) - CHECK_CXX_ACCEPTS_FLAG("-msse3" _SSE3_OK) - - string(REGEX REPLACE "^.*(SSSE3).*$" "\\1" _SSE_THERE ${CPUINFO}) - string(COMPARE EQUAL "SSSE3" "${_SSE_THERE}" _SSSE3_TRUE) - CHECK_CXX_ACCEPTS_FLAG("-mssse3" _SSSE3_OK) - - string(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" _SSE_THERE ${CPUINFO}) - string(COMPARE EQUAL "SSE4.1" "${_SSE_THERE}" _SSE41_TRUE) - CHECK_CXX_ACCEPTS_FLAG("-msse4.1" _SSE41_OK) - - string(REGEX REPLACE "^.*(SSE4.2).*$" "\\1" _SSE_THERE ${CPUINFO}) - string(COMPARE EQUAL "SSE4.2" "${_SSE_THERE}" _SSE42_TRUE) - CHECK_CXX_ACCEPTS_FLAG("-msse4.2" _SSE42_OK) - - string(REGEX REPLACE "^.*(AVX).*$" "\\1" _SSE_THERE ${CPUINFO}) - string(COMPARE EQUAL "AVX" "${_SSE_THERE}" _AVX_TRUE) - CHECK_CXX_ACCEPTS_FLAG("-mavx" _AVX_OK) - - string(REGEX REPLACE "^.*(AVX2).*$" "\\1" _SSE_THERE ${CPUINFO}) - string(COMPARE EQUAL "AVX2" "${_SSE_THERE}" _AVX2_TRUE) - CHECK_CXX_ACCEPTS_FLAG("-mavx2" _AVX2_OK) - endif() elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") # TODO if(ARCH STREQUAL win32 OR ARCH STREQUAL x64) |