summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-08-21 12:59:24 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2020-08-23 11:04:46 +0200
commit7e7c9ba45554cd4c2f9a80ad61c3d2a0f9599f9b (patch)
tree71d327ae2dd10f9280d4a008582bf55b25aa0c58 /util
parent48cf015906e34ea0f8a388fd3a0e53ec082546f2 (diff)
CMake: Support configure tests of type 'linkerSupportsFlag'
Task-number: QTBUG-86155 Change-Id: I3764d99cd4ad1c432b499ec9ba7c4c48391fa421 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'util')
-rwxr-xr-xutil/cmake/configurejson2cmake.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/util/cmake/configurejson2cmake.py b/util/cmake/configurejson2cmake.py
index ffe2dd11b7..8b74cf53cb 100755
--- a/util/cmake/configurejson2cmake.py
+++ b/util/cmake/configurejson2cmake.py
@@ -777,6 +777,14 @@ def write_compiler_supports_flag_test(
cm_fh.write(lineify("FLAG", data.get("flag", "")))
cm_fh.write(")\n\n")
+def write_linker_supports_flag_test(
+ ctx, name, details, data, cm_fh, manual_library_list=None, is_library_test=False
+):
+ cm_fh.write(f"qt_config_linker_supports_flag_test({featureName(name)}\n")
+ cm_fh.write(lineify("LABEL", data.get("label", "")))
+ cm_fh.write(lineify("FLAG", data.get("flag", "")))
+ cm_fh.write(")\n\n")
+
def parseTest(ctx, test, data, cm_fh):
skip_tests = {
"c11",
@@ -814,6 +822,16 @@ def parseTest(ctx, test, data, cm_fh):
write_compiler_supports_flag_test(ctx, test, details, data, cm_fh)
+ if data["type"] == "linkerSupportsFlag":
+ knownTests.add(test)
+
+ if "test" in data:
+ details = data["test"]
+ else:
+ details = test
+
+ write_linker_supports_flag_test(ctx, test, details, data, cm_fh)
+
elif data["type"] == "libclang":
knownTests.add(test)