diff options
Diffstat (limited to 'cmake/FindWrapLibArchive.cmake')
-rw-r--r-- | cmake/FindWrapLibArchive.cmake | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cmake/FindWrapLibArchive.cmake b/cmake/FindWrapLibArchive.cmake new file mode 100644 index 00000000..67e4ce0b --- /dev/null +++ b/cmake/FindWrapLibArchive.cmake @@ -0,0 +1,18 @@ +# We can't create the same interface imported target multiple times, CMake will complain if we do +# that. This can happen if the find_package call is done in multiple different subdirectories. +if(TARGET WrapLibArchive::WrapLibArchive) + set(WrapLibArchive_FOUND TRUE) + return() +endif() + +find_package(LibArchive) + +if (NOT LibArchive_FOUND) + set(WrapLibArchive_FOUND FALSE) + return() +endif() + +add_library(WrapLibArchive::WrapLibArchive INTERFACE IMPORTED) +target_link_libraries(WrapLibArchive::WrapLibArchive INTERFACE ${LibArchive_LIBRARIES}) +target_include_directories(WrapLibArchive::WrapLibArchive INTERFACE ${LibArchive_INCLUDE_DIRS}) +set(WrapLibArchive_FOUND TRUE) |