CMake: Add QT_CFLAGS_* when building x86simd tests
Change-Id: I5caa088d517cb9d3749c3ed8ef88a41552c1d340 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
fbf98bf255
commit
64147fcb33
@ -413,16 +413,15 @@ function(qt_config_compile_test name)
|
|||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(qt_config_compile_test_x86simd extension label)
|
function(qt_config_compile_test_x86simd extension label)
|
||||||
string(TOUPPER ${extension} extension_uppercase)
|
|
||||||
if (DEFINED TEST_X86SIMD_${extension})
|
if (DEFINED TEST_X86SIMD_${extension})
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
try_compile(TEST_X86SIMD_${extension} "${CMAKE_CURRENT_BINARY_DIR}"
|
try_compile("TEST_X86SIMD_${extension}"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/config.tests/x86_simd/main.cpp"
|
"${CMAKE_CURRENT_BINARY_DIR}/config.tests/x86_simd_${extension}"
|
||||||
COMPILE_DEFINITIONS -DQT_COMPILER_SUPPORTS_${extension_uppercase}
|
"${CMAKE_CURRENT_SOURCE_DIR}/config.tests/x86_simd"
|
||||||
OUTPUT_VARIABLE foo
|
x86_simd
|
||||||
)
|
CMAKE_FLAGS "-DSIMD:string=${extension}")
|
||||||
set(TEST_subarch_${extension} "${TEST_X86SIMD_${extension}}" CACHE INTERNAL "${label}")
|
set(TEST_subarch_${extension} "${TEST_X86SIMD_${extension}}" CACHE INTERNAL "${label}")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@ set01(ANDROID_EMBEDDED ANDROID) # FIXME: How to identify this?
|
|||||||
set01(GCC CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
set01(GCC CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
set01(CLANG CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
set01(CLANG CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
set01(ICC CMAKE_C_COMPILER MATCHES "icc|icl")
|
set01(ICC CMAKE_C_COMPILER MATCHES "icc|icl")
|
||||||
|
set01(QCC CMAKE_C_COMPILER MATCHES "qcc") # FIXME: How to identify this?
|
||||||
|
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
set(QT_64BIT TRUE)
|
set(QT_64BIT TRUE)
|
||||||
|
15
config.tests/x86_simd/CMakeLists.txt
Normal file
15
config.tests/x86_simd/CMakeLists.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.14.0)
|
||||||
|
project(x86_simd LANGUAGES CXX)
|
||||||
|
|
||||||
|
include(../../cmake/QtPlatformSupport.cmake)
|
||||||
|
include(../../cmake/QtCompilerOptimization.cmake)
|
||||||
|
|
||||||
|
string(TOUPPER "${SIMD}" upper_simd)
|
||||||
|
|
||||||
|
if(NOT DEFINED "QT_CFLAGS_${upper_simd}")
|
||||||
|
message(FATAL_ERROR "This compiler does not support ${SIMD}.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_executable("SimdTest${SIMD}")
|
||||||
|
target_sources("SimdTest${SIMD}" PRIVATE main.cpp)
|
||||||
|
target_compile_options("SimdTest${SIMD}" PRIVATE ${QT_CFLAGS_${upper_simd}})
|
Loading…
x
Reference in New Issue
Block a user