Skip to content

Bumping to LLVM 12 with a new CMake#5

Open
dmikushin wants to merge 2 commits into
tetzank:masterfrom
dmikushin:llvm-12-with-new-cmake
Open

Bumping to LLVM 12 with a new CMake#5
dmikushin wants to merge 2 commits into
tetzank:masterfrom
dmikushin:llvm-12-with-new-cmake

Conversation

@dmikushin

Copy link
Copy Markdown

Hello, @tetzank thank you and to your coauthors for developing Coat. This PR bumps the used version of LLVM to 12, which requires to change just a couple of lines. More importantly, this PR revises the CMake build script in the following ways:

  • LLVM 12 is to be provided externally (it's much easier for a user to obtain prebuilt LLVM binaries from distro, than to build them from source)
  • asmjit is built "in-source" together with the project, so no extra script is needed
  • Two flavors of coat header-only library are created in CMake as interface targets, and the corresponding flags and linked libraries are assigned to them (so, user applications, tests and examples no longer need to declare dependencies themselves)

@dmikushin

dmikushin commented Mar 2, 2023

Copy link
Copy Markdown
Author

One thing to note: LLVM 12 has compatibility issues with C++20 standard required by some debugging features (required keyword, etc.). Attempting to compile LLVM 12 with C++20 gives the following errors:

/usr/lib/llvm-12/include/llvm/ADT/STLExtras.h:1823:18: error: expected ‘)’ before ‘const’
 1823 |   result_pair<R>(const result_pair<R> &Other)

In this PR C++20 requirement is temporary downgraded to C++17.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant