diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-03-31 18:56:59 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-04-23 06:58:59 +0200 |
commit | 644161a5e0618aa072b2e6f6259d446e4ea07f60 (patch) | |
tree | abb1c1a3ad381db5c1c25f74587da4cec26f7f56 | |
parent | c7deb3400faa1d9389137fe63ffbffade8203850 (diff) |
CMake: Expose sub-arch test results as features
Needed for QT_FEATURE_foo checks in repos other than qtbase when
building SIMD specific files (e.g. qtimageformats).
Task-number: QTBUG-85447
Task-number: QTBUG-93017
Change-Id: Ibd2200fe24cecbb0b2a092f645ca622baf738601
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 8f2795b17fde2a595fbb67f4531c3d49b8b3d2cd)
-rw-r--r-- | .prev_configure.cmake | 44 | ||||
-rw-r--r-- | configure.cmake | 44 | ||||
-rw-r--r-- | configure.json | 22 |
3 files changed, 66 insertions, 44 deletions
diff --git a/.prev_configure.cmake b/.prev_configure.cmake index 8f8c71926f..6b6092f9a7 100644 --- a/.prev_configure.cmake +++ b/.prev_configure.cmake @@ -673,37 +673,37 @@ qt_feature("sse2" PRIVATE ) qt_feature_definition("sse2" "QT_COMPILER_SUPPORTS_SSE2" VALUE "1") qt_feature_config("sse2" QMAKE_PRIVATE_CONFIG) -qt_feature("sse3" +qt_feature("sse3" PRIVATE LABEL "SSE3" CONDITION QT_FEATURE_sse2 AND TEST_subarch_sse3 ) qt_feature_definition("sse3" "QT_COMPILER_SUPPORTS_SSE3" VALUE "1") qt_feature_config("sse3" QMAKE_PRIVATE_CONFIG) -qt_feature("ssse3" +qt_feature("ssse3" PRIVATE LABEL "SSSE3" CONDITION QT_FEATURE_sse3 AND TEST_subarch_ssse3 ) qt_feature_definition("ssse3" "QT_COMPILER_SUPPORTS_SSSE3" VALUE "1") qt_feature_config("ssse3" QMAKE_PRIVATE_CONFIG) -qt_feature("sse4_1" +qt_feature("sse4_1" PRIVATE LABEL "SSE4.1" CONDITION QT_FEATURE_ssse3 AND TEST_subarch_sse4_1 ) qt_feature_definition("sse4_1" "QT_COMPILER_SUPPORTS_SSE4_1" VALUE "1") qt_feature_config("sse4_1" QMAKE_PRIVATE_CONFIG) -qt_feature("sse4_2" +qt_feature("sse4_2" PRIVATE LABEL "SSE4.2" CONDITION QT_FEATURE_sse4_1 AND TEST_subarch_sse4_2 ) qt_feature_definition("sse4_2" "QT_COMPILER_SUPPORTS_SSE4_2" VALUE "1") qt_feature_config("sse4_2" QMAKE_PRIVATE_CONFIG) -qt_feature("avx" +qt_feature("avx" PRIVATE LABEL "AVX" CONDITION QT_FEATURE_sse4_2 AND TEST_subarch_avx AND ( NOT ANDROID OR NOT ( TEST_architecture_arch STREQUAL x86_64 ) ) ) qt_feature_definition("avx" "QT_COMPILER_SUPPORTS_AVX" VALUE "1") qt_feature_config("avx" QMAKE_PRIVATE_CONFIG) -qt_feature("f16c" +qt_feature("f16c" PRIVATE LABEL "F16C" CONDITION QT_FEATURE_avx AND TEST_subarch_f16c ) @@ -715,79 +715,79 @@ qt_feature("avx2" PRIVATE ) qt_feature_definition("avx2" "QT_COMPILER_SUPPORTS_AVX2" VALUE "1") qt_feature_config("avx2" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512f" +qt_feature("avx512f" PRIVATE LABEL "F" CONDITION QT_FEATURE_avx2 AND TEST_subarch_avx512f ) qt_feature_definition("avx512f" "QT_COMPILER_SUPPORTS_AVX512F" VALUE "1") qt_feature_config("avx512f" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512er" +qt_feature("avx512er" PRIVATE LABEL "ER" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512er ) qt_feature_definition("avx512er" "QT_COMPILER_SUPPORTS_AVX512ER" VALUE "1") qt_feature_config("avx512er" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512cd" +qt_feature("avx512cd" PRIVATE LABEL "CD" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512cd ) qt_feature_definition("avx512cd" "QT_COMPILER_SUPPORTS_AVX512CD" VALUE "1") qt_feature_config("avx512cd" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512pf" +qt_feature("avx512pf" PRIVATE LABEL "PF" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512pf ) qt_feature_definition("avx512pf" "QT_COMPILER_SUPPORTS_AVX512PF" VALUE "1") qt_feature_config("avx512pf" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512dq" +qt_feature("avx512dq" PRIVATE LABEL "DQ" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512dq ) qt_feature_definition("avx512dq" "QT_COMPILER_SUPPORTS_AVX512DQ" VALUE "1") qt_feature_config("avx512dq" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512bw" +qt_feature("avx512bw" PRIVATE LABEL "BW" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512bw ) qt_feature_definition("avx512bw" "QT_COMPILER_SUPPORTS_AVX512BW" VALUE "1") qt_feature_config("avx512bw" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512vl" +qt_feature("avx512vl" PRIVATE LABEL "VL" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512vl ) qt_feature_definition("avx512vl" "QT_COMPILER_SUPPORTS_AVX512VL" VALUE "1") qt_feature_config("avx512vl" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512ifma" +qt_feature("avx512ifma" PRIVATE LABEL "IFMA" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512ifma ) qt_feature_definition("avx512ifma" "QT_COMPILER_SUPPORTS_AVX512IFMA" VALUE "1") qt_feature_config("avx512ifma" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512vbmi" +qt_feature("avx512vbmi" PRIVATE LABEL "VBMI" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512vbmi ) qt_feature_definition("avx512vbmi" "QT_COMPILER_SUPPORTS_AVX512VBMI" VALUE "1") qt_feature_config("avx512vbmi" QMAKE_PRIVATE_CONFIG) -qt_feature("aesni" +qt_feature("aesni" PRIVATE LABEL "AES" CONDITION QT_FEATURE_sse2 AND TEST_subarch_aesni ) qt_feature_definition("aesni" "QT_COMPILER_SUPPORTS_AES" VALUE "1") qt_feature_config("aesni" QMAKE_PRIVATE_CONFIG) -qt_feature("rdrnd" +qt_feature("rdrnd" PRIVATE LABEL "RDRAND" CONDITION TEST_subarch_rdrnd ) qt_feature_definition("rdrnd" "QT_COMPILER_SUPPORTS_RDRND" VALUE "1") qt_feature_config("rdrnd" QMAKE_PRIVATE_CONFIG) -qt_feature("rdseed" +qt_feature("rdseed" PRIVATE LABEL "RDSEED" CONDITION TEST_subarch_rdseed ) qt_feature_definition("rdseed" "QT_COMPILER_SUPPORTS_RDSEED" VALUE "1") qt_feature_config("rdseed" QMAKE_PRIVATE_CONFIG) -qt_feature("shani" +qt_feature("shani" PRIVATE LABEL "SHA" CONDITION QT_FEATURE_sse2 AND TEST_subarch_shani ) @@ -799,19 +799,19 @@ qt_feature("x86SimdAlways" ) qt_feature_definition("x86SimdAlways" "QT_COMPILER_SUPPORTS_SIMD_ALWAYS" VALUE "1") qt_feature_config("x86SimdAlways" QMAKE_PRIVATE_CONFIG) -qt_feature("mips_dsp" +qt_feature("mips_dsp" PRIVATE LABEL "DSP" CONDITION ( TEST_architecture_arch STREQUAL mips ) AND TEST_arch_${TEST_architecture_arch}_subarch_dsp ) qt_feature_definition("mips_dsp" "QT_COMPILER_SUPPORTS_MIPS_DSP" VALUE "1") qt_feature_config("mips_dsp" QMAKE_PRIVATE_CONFIG) -qt_feature("mips_dspr2" +qt_feature("mips_dspr2" PRIVATE LABEL "DSPr2" CONDITION ( TEST_architecture_arch STREQUAL mips ) AND TEST_arch_${TEST_architecture_arch}_subarch_dspr2 ) qt_feature_definition("mips_dspr2" "QT_COMPILER_SUPPORTS_MIPS_DSPR2" VALUE "1") qt_feature_config("mips_dspr2" QMAKE_PRIVATE_CONFIG) -qt_feature("neon" +qt_feature("neon" PRIVATE LABEL "NEON" CONDITION ( ( TEST_architecture_arch STREQUAL arm ) OR ( TEST_architecture_arch STREQUAL arm64 ) ) AND TEST_arch_${TEST_architecture_arch}_subarch_neon ) diff --git a/configure.cmake b/configure.cmake index eea334a0ce..fdac039eef 100644 --- a/configure.cmake +++ b/configure.cmake @@ -684,37 +684,37 @@ qt_feature("sse2" PRIVATE ) qt_feature_definition("sse2" "QT_COMPILER_SUPPORTS_SSE2" VALUE "1") qt_feature_config("sse2" QMAKE_PRIVATE_CONFIG) -qt_feature("sse3" +qt_feature("sse3" PRIVATE LABEL "SSE3" CONDITION QT_FEATURE_sse2 AND TEST_subarch_sse3 ) qt_feature_definition("sse3" "QT_COMPILER_SUPPORTS_SSE3" VALUE "1") qt_feature_config("sse3" QMAKE_PRIVATE_CONFIG) -qt_feature("ssse3" +qt_feature("ssse3" PRIVATE LABEL "SSSE3" CONDITION QT_FEATURE_sse3 AND TEST_subarch_ssse3 ) qt_feature_definition("ssse3" "QT_COMPILER_SUPPORTS_SSSE3" VALUE "1") qt_feature_config("ssse3" QMAKE_PRIVATE_CONFIG) -qt_feature("sse4_1" +qt_feature("sse4_1" PRIVATE LABEL "SSE4.1" CONDITION QT_FEATURE_ssse3 AND TEST_subarch_sse4_1 ) qt_feature_definition("sse4_1" "QT_COMPILER_SUPPORTS_SSE4_1" VALUE "1") qt_feature_config("sse4_1" QMAKE_PRIVATE_CONFIG) -qt_feature("sse4_2" +qt_feature("sse4_2" PRIVATE LABEL "SSE4.2" CONDITION QT_FEATURE_sse4_1 AND TEST_subarch_sse4_2 ) qt_feature_definition("sse4_2" "QT_COMPILER_SUPPORTS_SSE4_2" VALUE "1") qt_feature_config("sse4_2" QMAKE_PRIVATE_CONFIG) -qt_feature("avx" +qt_feature("avx" PRIVATE LABEL "AVX" CONDITION QT_FEATURE_sse4_2 AND TEST_subarch_avx AND ( NOT ANDROID OR NOT ( TEST_architecture_arch STREQUAL x86_64 ) ) ) qt_feature_definition("avx" "QT_COMPILER_SUPPORTS_AVX" VALUE "1") qt_feature_config("avx" QMAKE_PRIVATE_CONFIG) -qt_feature("f16c" +qt_feature("f16c" PRIVATE LABEL "F16C" CONDITION QT_FEATURE_avx AND TEST_subarch_f16c ) @@ -726,79 +726,79 @@ qt_feature("avx2" PRIVATE ) qt_feature_definition("avx2" "QT_COMPILER_SUPPORTS_AVX2" VALUE "1") qt_feature_config("avx2" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512f" +qt_feature("avx512f" PRIVATE LABEL "F" CONDITION QT_FEATURE_avx2 AND TEST_subarch_avx512f ) qt_feature_definition("avx512f" "QT_COMPILER_SUPPORTS_AVX512F" VALUE "1") qt_feature_config("avx512f" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512er" +qt_feature("avx512er" PRIVATE LABEL "ER" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512er ) qt_feature_definition("avx512er" "QT_COMPILER_SUPPORTS_AVX512ER" VALUE "1") qt_feature_config("avx512er" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512cd" +qt_feature("avx512cd" PRIVATE LABEL "CD" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512cd ) qt_feature_definition("avx512cd" "QT_COMPILER_SUPPORTS_AVX512CD" VALUE "1") qt_feature_config("avx512cd" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512pf" +qt_feature("avx512pf" PRIVATE LABEL "PF" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512pf ) qt_feature_definition("avx512pf" "QT_COMPILER_SUPPORTS_AVX512PF" VALUE "1") qt_feature_config("avx512pf" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512dq" +qt_feature("avx512dq" PRIVATE LABEL "DQ" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512dq ) qt_feature_definition("avx512dq" "QT_COMPILER_SUPPORTS_AVX512DQ" VALUE "1") qt_feature_config("avx512dq" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512bw" +qt_feature("avx512bw" PRIVATE LABEL "BW" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512bw ) qt_feature_definition("avx512bw" "QT_COMPILER_SUPPORTS_AVX512BW" VALUE "1") qt_feature_config("avx512bw" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512vl" +qt_feature("avx512vl" PRIVATE LABEL "VL" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512vl ) qt_feature_definition("avx512vl" "QT_COMPILER_SUPPORTS_AVX512VL" VALUE "1") qt_feature_config("avx512vl" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512ifma" +qt_feature("avx512ifma" PRIVATE LABEL "IFMA" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512ifma ) qt_feature_definition("avx512ifma" "QT_COMPILER_SUPPORTS_AVX512IFMA" VALUE "1") qt_feature_config("avx512ifma" QMAKE_PRIVATE_CONFIG) -qt_feature("avx512vbmi" +qt_feature("avx512vbmi" PRIVATE LABEL "VBMI" CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512vbmi ) qt_feature_definition("avx512vbmi" "QT_COMPILER_SUPPORTS_AVX512VBMI" VALUE "1") qt_feature_config("avx512vbmi" QMAKE_PRIVATE_CONFIG) -qt_feature("aesni" +qt_feature("aesni" PRIVATE LABEL "AES" CONDITION QT_FEATURE_sse2 AND TEST_subarch_aesni ) qt_feature_definition("aesni" "QT_COMPILER_SUPPORTS_AES" VALUE "1") qt_feature_config("aesni" QMAKE_PRIVATE_CONFIG) -qt_feature("rdrnd" +qt_feature("rdrnd" PRIVATE LABEL "RDRAND" CONDITION TEST_subarch_rdrnd ) qt_feature_definition("rdrnd" "QT_COMPILER_SUPPORTS_RDRND" VALUE "1") qt_feature_config("rdrnd" QMAKE_PRIVATE_CONFIG) -qt_feature("rdseed" +qt_feature("rdseed" PRIVATE LABEL "RDSEED" CONDITION TEST_subarch_rdseed ) qt_feature_definition("rdseed" "QT_COMPILER_SUPPORTS_RDSEED" VALUE "1") qt_feature_config("rdseed" QMAKE_PRIVATE_CONFIG) -qt_feature("shani" +qt_feature("shani" PRIVATE LABEL "SHA" CONDITION QT_FEATURE_sse2 AND TEST_subarch_shani ) @@ -810,19 +810,19 @@ qt_feature("x86SimdAlways" ) qt_feature_definition("x86SimdAlways" "QT_COMPILER_SUPPORTS_SIMD_ALWAYS" VALUE "1") qt_feature_config("x86SimdAlways" QMAKE_PRIVATE_CONFIG) -qt_feature("mips_dsp" +qt_feature("mips_dsp" PRIVATE LABEL "DSP" CONDITION ( TEST_architecture_arch STREQUAL mips ) AND TEST_arch_${TEST_architecture_arch}_subarch_dsp ) qt_feature_definition("mips_dsp" "QT_COMPILER_SUPPORTS_MIPS_DSP" VALUE "1") qt_feature_config("mips_dsp" QMAKE_PRIVATE_CONFIG) -qt_feature("mips_dspr2" +qt_feature("mips_dspr2" PRIVATE LABEL "DSPr2" CONDITION ( TEST_architecture_arch STREQUAL mips ) AND TEST_arch_${TEST_architecture_arch}_subarch_dspr2 ) qt_feature_definition("mips_dspr2" "QT_COMPILER_SUPPORTS_MIPS_DSPR2" VALUE "1") qt_feature_config("mips_dspr2" QMAKE_PRIVATE_CONFIG) -qt_feature("neon" +qt_feature("neon" PRIVATE LABEL "NEON" CONDITION ( ( TEST_architecture_arch STREQUAL arm ) OR ( TEST_architecture_arch STREQUAL arm64 ) ) AND TEST_arch_${TEST_architecture_arch}_subarch_neon ) diff --git a/configure.json b/configure.json index 56d9841119..1cb2107756 100644 --- a/configure.json +++ b/configure.json @@ -1068,6 +1068,7 @@ "condition": "features.sse2 && tests.sse3", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE3", "value": 1 } ] }, @@ -1076,6 +1077,7 @@ "condition": "features.sse3 && tests.ssse3", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSSE3", "value": 1 } ] }, @@ -1084,6 +1086,7 @@ "condition": "features.ssse3 && tests.sse4_1", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_1", "value": 1 } ] }, @@ -1092,6 +1095,7 @@ "condition": "features.sse4_1 && tests.sse4_2", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_2", "value": 1 } ] }, @@ -1100,6 +1104,7 @@ "condition": "features.sse4_2 && tests.avx && (!config.android || !arch.x86_64)", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 } ] }, @@ -1108,6 +1113,7 @@ "condition": "features.avx && tests.f16c", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_F16C", "value": 1 } ] }, @@ -1125,6 +1131,7 @@ "condition": "features.avx2 && tests.avx512f", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512F", "value": 1 } ] }, @@ -1133,6 +1140,7 @@ "condition": "features.avx512f && tests.avx512er", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512ER", "value": 1 } ] }, @@ -1141,6 +1149,7 @@ "condition": "features.avx512f && tests.avx512cd", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512CD", "value": 1 } ] }, @@ -1149,6 +1158,7 @@ "condition": "features.avx512f && tests.avx512pf", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512PF", "value": 1 } ] }, @@ -1157,6 +1167,7 @@ "condition": "features.avx512f && tests.avx512dq", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512DQ", "value": 1 } ] }, @@ -1165,6 +1176,7 @@ "condition": "features.avx512f && tests.avx512bw", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512BW", "value": 1 } ] }, @@ -1173,6 +1185,7 @@ "condition": "features.avx512f && tests.avx512vl", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VL", "value": 1 } ] }, @@ -1181,6 +1194,7 @@ "condition": "features.avx512f && tests.avx512ifma", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512IFMA", "value": 1 } ] }, @@ -1189,6 +1203,7 @@ "condition": "features.avx512f && tests.avx512vbmi", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VBMI", "value": 1 } ] }, @@ -1197,6 +1212,7 @@ "condition": "features.sse2 && tests.aesni", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_AES", "value": 1 } ] }, @@ -1205,6 +1221,7 @@ "condition": "tests.rdrnd", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_RDRND", "value": 1 } ] }, @@ -1213,6 +1230,7 @@ "condition": "tests.rdseed", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_RDSEED", "value": 1 } ] }, @@ -1221,6 +1239,7 @@ "condition": "features.sse2 && tests.shani", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_SHA", "value": 1 } ] }, @@ -1237,6 +1256,7 @@ "condition": "arch.mips && subarch.dsp", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSP", "value": 1 } ] }, @@ -1245,6 +1265,7 @@ "condition": "arch.mips && subarch.dspr2", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSPR2", "value": 1 } ] }, @@ -1253,6 +1274,7 @@ "condition": "(arch.arm || arch.arm64) && subarch.neon", "output": [ "privateConfig", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_NEON", "value": 1 } ] }, |