summaryrefslogtreecommitdiffstats
path: root/configure.cmake
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-10-11 16:55:55 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-10-14 19:01:19 +0000
commit190e9dcdcf1a2debfbf624af4cb2154172908a64 (patch)
tree3feb15de63b05cda8339d784c46f929ad4000357 /configure.cmake
parent440286655e0ca271506cf7cc02ad0dbf4baef9ca (diff)
Regenerate files after dev -> wip/cmake merge
Note the following bigger things that had to be done: Handle GSS library / feature with a new custom find module. Implement rudimentary support for relocatability (does not currently handle extprefix). Change-Id: Ic6cd27dda7ebca9829f51cb42ea76fff6d1767ef Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'configure.cmake')
-rw-r--r--configure.cmake48
1 files changed, 45 insertions, 3 deletions
diff --git a/configure.cmake b/configure.cmake
index cec2bfa183..55c2d6b73c 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -33,7 +33,7 @@ int main(int argc, char **argv)
/* END TEST: */
return 0;
}
-"# FIXME: qmake: CONFIG += c++11 c++14 c++1z c++2a
+"# FIXME: qmake: CONFIG += c++11 c++14 c++17 c++2a
)
# precompile_header
@@ -74,6 +74,23 @@ int main(int argc, char **argv)
"# FIXME: qmake: ['TEMPLATE = lib', 'CONFIG += dll bsymbolic_functions', 'isEmpty(QMAKE_LFLAGS_BSYMBOLIC_FUNC): error("Nope")']
)
+# signaling_nan
+qt_config_compile_test(signaling_nan
+ LABEL "Signaling NaN for doubles"
+"#include <limits>
+
+
+int main(int argc, char **argv)
+{
+ (void)argc; (void)argv;
+ /* BEGIN TEST: */
+using B = std::numeric_limits<double>;
+static_assert(B::has_signaling_NaN, \"System lacks signaling NaN\");
+ /* END TEST: */
+ return 0;
+}
+")
+
# sse2
qt_config_compile_test_x86simd(sse2 "SSE2 instructions")
@@ -98,6 +115,9 @@ qt_config_compile_test_x86simd(f16c "F16C instructions")
# rdrnd
qt_config_compile_test_x86simd(rdrnd "RDRAND instruction")
+# rdseed
+qt_config_compile_test_x86simd(rdseed "RDSEED instruction")
+
# shani
qt_config_compile_test_x86simd(shani "SHA new instructions")
@@ -276,20 +296,28 @@ qt_feature("cxx14" PUBLIC
LABEL "C++14"
CONDITION QT_FEATURE_cxx11 AND $<COMPILE_FEATURES:cxx_std_14>
)
-qt_feature("cxx1z" PUBLIC
+qt_feature("cxx17" PUBLIC
LABEL "C++17"
CONDITION QT_FEATURE_cxx14 AND $<COMPILE_FEATURES:cxx_std_17>
)
+qt_feature("cxx1z" PUBLIC
+ LABEL "C++17"
+ CONDITION QT_FEATURE_cxx17
+)
qt_feature("cxx2a" PUBLIC
LABEL "C++2a"
AUTODETECT OFF
- CONDITION QT_FEATURE_cxx1z AND TEST_cxx2a
+ CONDITION QT_FEATURE_cxx17 AND TEST_cxx2a
)
qt_feature("reduce_exports" PRIVATE
LABEL "Reduce amount of exported symbols"
CONDITION NOT WIN32 AND CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY
)
qt_feature_definition("reduce_exports" "QT_VISIBILITY_AVAILABLE")
+qt_feature("signaling_nan" PUBLIC
+ LABEL "Signaling NaN"
+ CONDITION TEST_signaling_nan
+)
qt_feature("sse2" PRIVATE
LABEL "SSE2"
CONDITION ( ( TEST_architecture_arch STREQUAL i386 ) OR ( TEST_architecture_arch STREQUAL x86_64 ) ) AND TEST_subarch_sse2
@@ -385,6 +413,11 @@ qt_feature("rdrnd"
CONDITION TEST_subarch_rdseed
)
qt_feature_definition("rdrnd" "QT_COMPILER_SUPPORTS_RDRND" VALUE "1")
+qt_feature("rdseed"
+ LABEL "RDSEED"
+ CONDITION TEST_subarch_rdseed
+)
+qt_feature_definition("rdseed" "QT_COMPILER_SUPPORTS_RDSEED" VALUE "1")
qt_feature("shani"
LABEL "SHA"
CONDITION QT_FEATURE_sse2 AND TEST_subarch_sha
@@ -483,6 +516,15 @@ qt_feature("libudev" PRIVATE
LABEL "udev"
CONDITION Libudev_FOUND
)
+qt_feature("dlopen" PRIVATE
+ LABEL "dlopen()"
+ CONDITION UNIX
+)
+qt_feature("relocatable" PRIVATE
+ LABEL "Relocatable"
+ AUTODETECT QT_FEATURE_shared
+ CONDITION QT_FEATURE_dlopen OR WIN32 OR NOT QT_FEATURE_shared
+)
qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC)
qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC)