summaryrefslogtreecommitdiffstats
path: root/config.tests/x86_simd/CMakeLists.txt
blob: b624b7bc959760eb8b581ca0f43fd648878cf68a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cmake_minimum_required(VERSION 3.14.0)
project(x86_simd LANGUAGES CXX)

include(../../cmake/QtPlatformSupport.cmake)
include(../../cmake/QtCompilerOptimization.cmake)

# FIXME: Make the this project handle a list of SIMD entries.
# FIXME: Make this project handle appending of the cflags (similar to the qmake project).
# This is needed for the x86SimdAlways configure test (
# aka we test to see if setting no SIMD (-msse2) cflags at all, will result in their implicit
# addition by the compiler).
string(TOUPPER "${SIMD}" upper_simd)

if(NOT DEFINED "QT_CFLAGS_${upper_simd}")
    # Don't use CMake error() because a configure error also fails the try_compile() call.
    # Instead use a compile flag that doesn't exist to force a compiler error.
    set(QT_CFLAGS_${upper_simd} "--qt-cflags-not-found")
endif()

add_executable("SimdTest${SIMD}")
target_sources("SimdTest${SIMD}" PRIVATE main.cpp)
target_compile_options("SimdTest${SIMD}" PRIVATE ${QT_CFLAGS_${upper_simd}})
target_compile_definitions("SimdTest${SIMD}" PRIVATE QT_COMPILER_SUPPORTS_${upper_simd})