<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/cmake, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[CMake][gRPC] Update FindGRPC.cmake to support newer gRPC versions (#162935)</title>
<updated>2025-10-15T20:14:14+00:00</updated>
<author>
<name>Steven Wu</name>
<email>stevenwu@apple.com</email>
</author>
<published>2025-10-15T20:14:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2b135b931338a57c38d9c4a34ffdd59877ba82d6'/>
<id>2b135b931338a57c38d9c4a34ffdd59877ba82d6</id>
<content type='text'>
Update the logic to find gRPC to always favor CMake `find_package`
implementation including for builds on macOS that uses homebrew, where
gRPCConfig.cmake is also installed to provide an accurate target
dependencies to link against.

This fixes the problem that newer gRPC version has broken up the
libraries into smaller pieces and the hard coded list of libraries in
the implementation can no longer work.

Fixes: https://github.com/llvm/llvm-project/issues/59844</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update the logic to find gRPC to always favor CMake `find_package`
implementation including for builds on macOS that uses homebrew, where
gRPCConfig.cmake is also installed to provide an accurate target
dependencies to link against.

This fixes the problem that newer gRPC version has broken up the
libraries into smaller pieces and the hard coded list of libraries in
the implementation can no longer work.

Fixes: https://github.com/llvm/llvm-project/issues/59844</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake][AIX] Enable CMP0182: Create shared library archives by default (#155686)</title>
<updated>2025-08-28T13:29:27+00:00</updated>
<author>
<name>David Tenty</name>
<email>daltenty@ibm.com</email>
</author>
<published>2025-08-28T13:29:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=94738ddaf42a0fa1981dc083f9ed94ba11943458'/>
<id>94738ddaf42a0fa1981dc083f9ed94ba11943458</id>
<content type='text'>
On AIX we prefer to create shared libraries as shared library archives
(i.e. we archive the shared object in a big AR archive) as this is the
standard format on the platform.

There is now a CMake policy that allows us to do this by default, so
opt-in to that behaviour.

---------

Co-authored-by: Hubert Tong &lt;hubert.reinterpretcast@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On AIX we prefer to create shared libraries as shared library archives
(i.e. we archive the shared object in a big AR archive) as this is the
standard format on the platform.

There is now a CMake policy that allows us to do this by default, so
opt-in to that behaviour.

---------

Co-authored-by: Hubert Tong &lt;hubert.reinterpretcast@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Change LIBC_THREAD_LOCAL to be dependent on LIBC_THREAD_MODE (#151527)</title>
<updated>2025-08-06T14:04:26+00:00</updated>
<author>
<name>William Huynh</name>
<email>William.Huynh@arm.com</email>
</author>
<published>2025-08-06T14:04:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0b1639581a14e6e99ffff1a155504e4e866df491'/>
<id>0b1639581a14e6e99ffff1a155504e4e866df491</id>
<content type='text'>
When single-threaded mode is selected, all instances of the keyword
`LIBC_THREAD_LOCAL` are stubbed out, similar to how it currently works
on the GPU. This allows baremetal builds to avoid using thread_local.

However, libcxx uses shared headers, so we need to be careful there.
Thankfully, there is already an option to disable multithreading in
libcxx, so a flag is added such that single-threaded mode is propagated
down to libc.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When single-threaded mode is selected, all instances of the keyword
`LIBC_THREAD_LOCAL` are stubbed out, similar to how it currently works
on the GPU. This allows baremetal builds to avoid using thread_local.

However, libcxx uses shared headers, so we need to be careful there.
Thankfully, there is already an option to disable multithreading in
libcxx, so a flag is added such that single-threaded mode is propagated
down to libc.</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version to 22.0.0-git</title>
<updated>2025-07-15T14:03:12+00:00</updated>
<author>
<name>Tobias Hieta</name>
<email>tobias@hieta.se</email>
</author>
<published>2025-07-15T14:03:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=01f36b39bd2475a271bbeb95fb9db8ed65e2d065'/>
<id>01f36b39bd2475a271bbeb95fb9db8ed65e2d065</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: Allow CLANG_RESOURCE_DIR to be absolute.</title>
<updated>2025-06-27T23:04:35+00:00</updated>
<author>
<name>Peter Collingbourne</name>
<email>pcc@google.com</email>
</author>
<published>2025-06-27T23:04:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=71d4c9ce70e7558bdfe0d4362b3f8c21864a5ee5'/>
<id>71d4c9ce70e7558bdfe0d4362b3f8c21864a5ee5</id>
<content type='text'>
Currently an absolute CLANG_RESOURCE_DIR is treated as being relative
to bin. Fix that by using cmake_path(APPEND) to append the path to bin.

The prepending of PREFIX is left as-is because callers passing PREFIX
are usually forming a path within the build directory and would not
want build products to be written to an absolute resource directory
that is likely to be an installation prefix. One exception is the caller
in lldb/cmake/modules/LLDBStandalone.cmake; for now it is not possible
to build LLDB with an absolute resource directory until the users are
disambiguated.

Reviewers: petrhosek

Reviewed By: petrhosek

Pull Request: https://github.com/llvm/llvm-project/pull/145996
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently an absolute CLANG_RESOURCE_DIR is treated as being relative
to bin. Fix that by using cmake_path(APPEND) to append the path to bin.

The prepending of PREFIX is left as-is because callers passing PREFIX
are usually forming a path within the build directory and would not
want build products to be written to an absolute resource directory
that is likely to be an installation prefix. One exception is the caller
in lldb/cmake/modules/LLDBStandalone.cmake; for now it is not possible
to build LLDB with an absolute resource directory until the users are
disambiguated.

Reviewers: petrhosek

Reviewed By: petrhosek

Pull Request: https://github.com/llvm/llvm-project/pull/145996
</pre>
</div>
</content>
</entry>
<entry>
<title>Reland "[CMake] Do not set CMP0116 explicitly to old (#90385)"</title>
<updated>2025-04-26T17:59:41+00:00</updated>
<author>
<name>Aiden Grossman</name>
<email>aidengrossman@google.com</email>
</author>
<published>2025-04-26T17:58:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2f08927fd5f44418482dd583d3d451acc6669fe6'/>
<id>2f08927fd5f44418482dd583d3d451acc6669fe6</id>
<content type='text'>
This reverts commit fa65a228f4b46346e69e9b95805a8bcfa8483a60.

This relands commit ab405fb6e9ff9202ca722f632b945d4b84c653f5.

There was an issue where CMake versions &lt;3.23.0 would not properly parse
dep files, causing the build to file. This patch fixes that by just
making CMake versions &lt;3.23.0 use the fallback behavior.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit fa65a228f4b46346e69e9b95805a8bcfa8483a60.

This relands commit ab405fb6e9ff9202ca722f632b945d4b84c653f5.

There was an issue where CMake versions &lt;3.23.0 would not properly parse
dep files, causing the build to file. This patch fixes that by just
making CMake versions &lt;3.23.0 use the fallback behavior.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[CMake] Do not set CMP0116 explicitly to old (#90385)"</title>
<updated>2025-04-26T04:51:16+00:00</updated>
<author>
<name>Aiden Grossman</name>
<email>aidengrossman@google.com</email>
</author>
<published>2025-04-26T04:51:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fa65a228f4b46346e69e9b95805a8bcfa8483a60'/>
<id>fa65a228f4b46346e69e9b95805a8bcfa8483a60</id>
<content type='text'>
This reverts commit ab405fb6e9ff9202ca722f632b945d4b84c653f5.

This caused quite a few buildbot failures that need further
investigation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit ab405fb6e9ff9202ca722f632b945d4b84c653f5.

This caused quite a few buildbot failures that need further
investigation.
</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake] Do not set CMP0116 explicitly to old (#90385)</title>
<updated>2025-04-26T04:29:59+00:00</updated>
<author>
<name>Aiden Grossman</name>
<email>aidengrossman@google.com</email>
</author>
<published>2025-04-26T04:29:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ab405fb6e9ff9202ca722f632b945d4b84c653f5'/>
<id>ab405fb6e9ff9202ca722f632b945d4b84c653f5</id>
<content type='text'>
CMP0116 was originally set to old to get rid of warnings. However, this
behavior is now set to new by default with the minimum CMake version
that LLVM requires so does not produce any warnings, and setting it
explicitly to old does produce a warning in newer CMake versions. Due to
these reasons, remove this check for now.

Splitting off from removing the CMP0114 check just in case something
breaks.

Partially fixes #83727.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CMP0116 was originally set to old to get rid of warnings. However, this
behavior is now set to new by default with the minimum CMake version
that LLVM requires so does not produce any warnings, and setting it
explicitly to old does produce a warning in newer CMake versions. Due to
these reasons, remove this check for now.

Splitting off from removing the CMP0114 check just in case something
breaks.

Partially fixes #83727.</pre>
</div>
</content>
</entry>
<entry>
<title>[cmake] Resolve symlink when finding install prefix (#124743)</title>
<updated>2025-03-18T13:48:40+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2025-03-18T13:48:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2fbfbf499eabb84024541060c61f0d88e882c167'/>
<id>2fbfbf499eabb84024541060c61f0d88e882c167</id>
<content type='text'>
When determining the install prefix in LLVMConfig.cmake etc resolve
symlinks in CMAKE_CURRENT_LIST_FILE first. The motivation for this is to
support symlinks like `/usr/lib64/cmake/llvm` to
`/usr/lib64/llvm19/lib/cmake/llvm`. This only works correctly if the
paths are relative to the resolved symlink.

It's worth noting that this *mostly* already works out of the box,
because cmake automatically does the symlink resolution when the library
is found via CMAKE_PREFIX_PATH. It just doesn't happen when it's found
via the default prefix path.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When determining the install prefix in LLVMConfig.cmake etc resolve
symlinks in CMAKE_CURRENT_LIST_FILE first. The motivation for this is to
support symlinks like `/usr/lib64/cmake/llvm` to
`/usr/lib64/llvm19/lib/cmake/llvm`. This only works correctly if the
paths are relative to the resolved symlink.

It's worth noting that this *mostly* already works out of the box,
because cmake automatically does the symlink resolution when the library
is found via CMAKE_PREFIX_PATH. It just doesn't happen when it's found
via the default prefix path.</pre>
</div>
</content>
</entry>
<entry>
<title>[cmake] Move FindLibcCommonUtils to shared cmake, to fix standalone builds (#131586)</title>
<updated>2025-03-17T13:00:09+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2025-03-17T13:00:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ed57ab0c2b8f359e7937f2c565239bd7cf124a9f'/>
<id>ed57ab0c2b8f359e7937f2c565239bd7cf124a9f</id>
<content type='text'>
Move `FindLibcCommonUtils` from LLVM's CMake module directory to the
shared top-level CMake directory, as the module is intended to be used
from within the source tree rather than the installed LLVM version. This
fixes standalone offload builds after #131205.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move `FindLibcCommonUtils` from LLVM's CMake module directory to the
shared top-level CMake directory, as the module is intended to be used
from within the source tree rather than the installed LLVM version. This
fixes standalone offload builds after #131205.</pre>
</div>
</content>
</entry>
</feed>
