Fix find_package(xsimd) for xtl enabled xsimd #788
Merged
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.
If we enable xtl by -DENABLE_XTL_COMPLEX=ON, the xsimd CMake target
depends on the xtl CMake target. (See installed
xsimdTargets.cmake. You can find 'INTERFACE_LINK_LIBRARIES "xtl"' line
in the file.)
But installed xsimdConfig.cmake doesn't include
find_dependency(xtl). If we don't run find_dependency(xtl) in
xsimdConfig.cmake, the xtl CMake target isn't defined when users run
find_package(xsimd). If the xtl CMake target isn't defined, "xtl" in
'INTERFACE_LINK_LIBRARIES "xtl"' is processed as library name not
CMake target. If "xtl" is processed as library name, '-lxtl' is added
to link command line. It causes link error because 'libxtl.so' doesn't
exist.
How to reproduce:
Install xsimd with -DENABLE_XTL_COMPLEX=ON:
Create a test project:
xsimd_test.cc:
CMakeLists.txt:
Build the test project: