summaryrefslogtreecommitdiff
path: root/image/backends/CMakeLists.txt
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2020-04-02 21:41:11 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2020-04-02 21:41:11 -0500
commitcd52d492ec08810fa0ba2425d5e01618a2e8741a (patch)
tree58597907a0e00d2acd0da28a2d46fb0898917da4 /image/backends/CMakeLists.txt
parentb9fa31365c91cfcbc891b36b411d3adc296ff6df (diff)
downloadhorizon-cd52d492ec08810fa0ba2425d5e01618a2e8741a.tar.gz
horizon-cd52d492ec08810fa0ba2425d5e01618a2e8741a.tar.bz2
horizon-cd52d492ec08810fa0ba2425d5e01618a2e8741a.tar.xz
horizon-cd52d492ec08810fa0ba2425d5e01618a2e8741a.zip
image: Truly dynamic backend registration
This allows one backend to provide multiple types. For example, our TarBackend can provide optional .gz, .bz2, and .xz compression.
Diffstat (limited to 'image/backends/CMakeLists.txt')
-rw-r--r--image/backends/CMakeLists.txt16
1 files changed, 14 insertions, 2 deletions
diff --git a/image/backends/CMakeLists.txt b/image/backends/CMakeLists.txt
index f3c7f5d..726d4eb 100644
--- a/image/backends/CMakeLists.txt
+++ b/image/backends/CMakeLists.txt
@@ -1,4 +1,16 @@
set(BACKEND_SRCS
- ${CMAKE_CURRENT_SOURCE_DIR}/basic.cc
- PARENT_SCOPE
+ basic.cc
)
+
+set(BACKEND_LIBS "")
+
+find_package(LibArchive)
+
+if(LibArchive_FOUND)
+ list(APPEND BACKEND_SRCS tar.cc)
+ list(APPEND BACKEND_LIBS ${LibArchive_LIBRARIES})
+endif()
+
+add_library(hi-backends ${BACKEND_SRCS})
+target_link_libraries(hi-backends ${BACKEND_LIBS})
+install(TARGETS hi-backends DESTINATION lib)