diff --git a/util/cmake/configurejson2cmake.py b/util/cmake/configurejson2cmake.py index bede5934a5d..22e98a68644 100755 --- a/util/cmake/configurejson2cmake.py +++ b/util/cmake/configurejson2cmake.py @@ -32,6 +32,7 @@ import os.path import re import sys from typing import Set, Union, List, Dict +from textwrap import dedent from helper import map_qt_library, featureName, map_platform, \ find_3rd_party_library_mapping, generate_find_package_info @@ -80,6 +81,7 @@ def map_tests(test: str) -> str: 'fsgsbase': 'TEST_subarch_fsgsbase', 'gfni': 'TEST_subarch_gfni', 'ibt': 'TEST_subarch_ibt', + 'libclang': 'TEST_libclang', 'lwp': 'TEST_subarch_lwp', 'lzcnt': 'TEST_subarch_lzcnt', 'mmx': 'TEST_subarch_mmx', @@ -590,6 +592,19 @@ def parseTest(ctx, test, data, cm_fh): cm_fh.write(qmakeFixme) cm_fh.write(")\n\n") + elif data["type"] == "libclang": + knownTests.add(test) + + cm_fh.write("# {}\n".format(test)) + lib_clang_lib = find_3rd_party_library_mapping("libclang") + cm_fh.write(generate_find_package_info(lib_clang_lib)) + cm_fh.write(dedent(""" + if(TARGET WrapLibClang::WrapLibClang) + set(TEST_libclang "ON" CACHE BOOL "Required libclang version found." FORCE) + endif() + """)) + cm_fh.write("\n") + elif data["type"] == "x86Simd": knownTests.add(test) diff --git a/util/cmake/helper.py b/util/cmake/helper.py index e22284aab4d..e9e0986cce4 100644 --- a/util/cmake/helper.py +++ b/util/cmake/helper.py @@ -203,6 +203,7 @@ _library_map = [ LibraryMapping('journald', 'Libsystemd', 'PkgConfig::Libsystemd'), LibraryMapping('jpeg', 'JPEG', 'JPEG::JPEG'), # see also libjpeg LibraryMapping('libatomic', 'Atomic', 'Atomic'), + LibraryMapping('libclang', 'WrapLibClang', 'WrapLibClang::WrapLibClang'), LibraryMapping('libdl', None, '${CMAKE_DL_LIBS}'), LibraryMapping('libinput', 'Libinput', 'Libinput::Libinput'), LibraryMapping('libjpeg', 'JPEG', 'JPEG::JPEG'), # see also jpeg