Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request integrates several key updates and improvements to the build and workflow processes. Notably, a dependency on
libclang
has been introduced, and several refinements have been made to the build and release workflows.libclang
is a significant dependency, essential for implementing certain advanced language server features (e.g., #17, #48, kernel preprocessing). Unfortunately, there aren't any existing Conan 2.0-compatible recipes to incorporate it. As a result, it was decided to download prebuilt static libraries hosted by the Qt community. Cmake is responsible for the acquisition of the prebuilt static libraries during the configuration stage.Details:
Libclang Integration:
libclang
.libclang
to enhance build performance/cost when using GitHub actions.Release
, as prebuilt libclang static libraries are available only for theRelease
configuration and this is crucial on Windows. Other platforms will also default to theRelease
configuration, especially since the package creation step was eliminated.dynamic
"compiler.runtime" setting to avoid mismatches when linking to libclang. Moreover, prebuilt conan packages are available for this configuration.-no-pie
linker flag because the prebuiltlibclang
static library is position-dependent.Other changes:
#pragma once
directive.