<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/139666>139666</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Findzstd.cmake conflicts with CMake-generated zstd config module
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ziyao233
</td>
</tr>
</table>
<pre>
When importing LLVM 20.1.4 before zstd 1.5.7 (built with CMake) in CMake config mode, CMake throws strange errors,
```CMake
# Example
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
project(test LANGUAGES C CXX)
find_package(zstd CONFIG)
find_package(LLVM CONFIG)
```
```
-- The C compiler identification is Clang 20.1.4
-- The CXX compiler identification is Clang 20.1.4
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /lib64/cmake/zstd/zstdTargets.cmake:42 (message):
Some (but not all) targets in this export set were already defined.
Targets Defined: zstd::libzstd_shared
Targets not yet defined: zstd::libzstd
Call Stack (most recent call first):
/lib64/cmake/zstd/zstdConfig.cmake:42 (include)
CMakeLists.txt:6 (find_package)
-- Configuring incomplete, errors occurred!
```
It seems `llvm/cmake/modules/Findzstd.cmake` defines only a subset of targets defined in zstdTargets.cmake (only zstd::libzstd_shared but not zstd::libzstd) thus messes zstd's cmake script up, which considers an incomplete importing happens.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVV9vo7oT_TTOyyiImECSBx4obapK3VZq-9tf3ypjBvCNsbm22bT76a8MbEv6Z_deCSkBz3jmnDkzw6wVtUJMSXxG4vMF612jTfpTvDBNo2hR6PIl_X-DCkTbaeOEquH6-vs3oGGwCtZQYKUNwk_rSlgFcbABQrdFL6SDo3AN5N_YAQndgVDjf-BaVaKGVpdIaD59dI3RRwvWGaZqBDRGG0toTsLMP0k4PuNtYUZoBBfPrO2kf-MtO-BTK5Ro-_bJ4N-9MFgSuv1-cXd_dXsDUbAKYZ89ZNdPF3d3t3eE7saLO6P_Qu4I3Tq0Dq6zm8v_ZZcX95BD_vj4alYJVT51jB9YjYRuB7D57c3-6nI0eXc-8DM_f83_HZzxdbmEhwYhB67bTkg0IEpUTlSCMye0AmEhl0zVE-czl8fH_-Z0jg75UMNZtOzsCoSq9L8wgSWUWuFomTfID1BpA0dtDqceJMqA0H0hFKF7zmEJ9iC6Dssvg0CFzPUG7Z8tTrKYGc7Z-BLUZ0Z_gjXzOQVG6BmhZ79B9-b5Nb5PbN4SGtvjwvcDMOdDS1Ekax-8HTpr79U4_TwwU6OzwXgUZWvqu7FFawdh7kjk9QZwr1sc-9SB0g6YlL5F3ejuW9U1wgI--44Hiw6OaBCYNMjKFyixEgrLYJQvwBQWzsfvnqIhqSgjUSZF4V-ebMPMQNCJi4_-gu7XlZ-6jj45kxLuHeOHAZO2DgxyVA64P6mEsW4G8fdE5cMMeseTUFz2JY4tC-NguhbW2cA9OxJliTc6bfVpPkzCGS7tjS-qUL6kEt0w48ZxBprz3gyTafVxClx5orG1QJJQyh_tLPFWl71ES-h-L1Tp858yT8KJOAtayRdgYPvCl0tXr8WcmPVF_SARD2hw_Kpc8EshH4vi9dL0Fry60I4GdGNhvNhyIzoHfefhHxvBGz_3rSjRWGBqxs9srzSs61DZYFGmUbmLdmyB6Wqz3qzCLY3DRZNGMY_5iiasijfRuuJlzDY83sUUk00Sb6uFSGlI4zBeRWEUh3EYrMuQxzTahjHbsCJBsg6xZUIGnuJAm3ohrO0xXUW7JEkWkhUo7bALKVV4hOGUUOpXo0m907Loa0vWoRyU8XqNE05ielqfYdVJwZ2d7cJljQoNc1iOS_NtHfYSF72RaeNcZz3ZdE_ovhau6YuAa6-ISRhDHq-7az8k6eUxofiR0n8CAAD__-OuiIU">