cmake: fix detection when openmp is enabled

This commit is contained in:
David Roman 2024-01-30 23:08:50 +01:00
parent 8f47a67f59
commit 39986e9a80
No known key found for this signature in database
GPG Key ID: D7475BA08F7705F5

View File

@ -66,14 +66,19 @@ foreach(_kissfft_datatype simd int16 int32 float double)
endforeach()
if(_kissfft_datatype_detected)
if(NOT TARGET kissfft::kissfft-${_kissfft_datatype_detected})
message(FATAL_ERROR "kissfft with datatype=${_kissfft_datatype_detected} is not installed")
if(TARGET kissfft::kissfft-${_kissfft_datatype_detected}-openmp)
set(_kissfft_openmp_detected "-openmp")
endif()
if(NOT TARGET kissfft::kissfft-${_kissfft_datatype_detected}${_kissfft_openmp_detected})
message(FATAL_ERROR "kissfft with datatype=${_kissfft_datatype_detected}${_kissfft_openmp_detected} is not installed")
endif()
if(TARGET kissfft::kissfft)
message(SEND_ERROR "kissfft::kissfft already exists. You cannot use 2 find_package's with datatype that are visible to eachother.")
else()
add_library(kissfft::kissfft INTERFACE IMPORTED)
set_property(TARGET kissfft::kissfft PROPERTY INTERFACE_LINK_LIBRARIES kissfft::kissfft-${_kissfft_datatype_detected})
set_property(TARGET kissfft::kissfft PROPERTY INTERFACE_LINK_LIBRARIES kissfft::kissfft-${_kissfft_datatype_detected}${_kissfft_openmp_detected})
endif()
endif()