]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/minizip/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / minizip / CMakeLists.txt
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/minizip/CMakeLists.txt b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/minizip/CMakeLists.txt
new file mode 100644 (file)
index 0000000..a5e8e05
--- /dev/null
@@ -0,0 +1,109 @@
+cmake_minimum_required(VERSION 3.8)
+project(minizip C)
+
+set(PROJECT_VERSION 1.2.11)
+set(PROJECT_VERSION_MAJOR 1)
+set(PROJECT_VERSION_MINOR 2)
+set(PROJECT_VERSION_PATCH 11)
+
+if(MSVC)
+  add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+find_package(ZLIB REQUIRED)
+set(MIN_SRC contrib/minizip)
+
+include_directories(${MIN_SRC} ${ZLIB_INCLUDE_DIRS})
+
+set(MINIZIP_LIBRARIES ZLIB::ZLIB)
+if(ENABLE_BZIP2)
+  message(STATUS "Building with bzip2 support")
+  find_package(BZip2)
+
+  include_directories(${BZIP2_INCLUDE_DIR})
+  set(MINIZIP_LIBRARIES ${MINIZIP_LIBRARIES} ${BZIP2_LIBRARIES})
+else()
+  message(STATUS "Building without bzip2 support")
+endif()
+
+set(SRC
+  ${MIN_SRC}/ioapi.c
+  ${MIN_SRC}/unzip.c
+  ${MIN_SRC}/zip.c
+  ${MIN_SRC}/mztools.c
+)
+if(WIN32)
+  list(APPEND SRC ${MIN_SRC}/iowin32.c)
+endif()
+
+set(HEADERS
+  ${MIN_SRC}/crypt.h
+  ${MIN_SRC}/ioapi.h
+  ${MIN_SRC}/unzip.h
+  ${MIN_SRC}/zip.h
+  ${MIN_SRC}/mztools.h
+)
+if(WIN32)
+  list(APPEND HEADERS ${MIN_SRC}/iowin32.h)
+endif()
+
+add_library(minizip ${SRC})
+
+target_link_libraries(minizip PRIVATE ZLIB::ZLIB)
+target_compile_definitions(minizip PRIVATE -D_ZLIB_H)
+
+if(ENABLE_BZIP2)
+  target_link_libraries(minizip PRIVATE ${BZIP2_LIBRARIES})
+  target_compile_definitions(minizip PRIVATE -DHAVE_BZIP2=1)
+endif()
+if(ANDROID)
+  target_compile_definitions(minizip PRIVATE IOAPI_NO_64)
+endif()
+if(NOT DISABLE_INSTALL_TOOLS)
+  add_executable(minizip_bin ${MIN_SRC}/minizip.c)
+  add_executable(miniunz_bin ${MIN_SRC}/miniunz.c)
+
+  target_link_libraries(minizip_bin minizip ${MINIZIP_LIBRARIES})
+  target_link_libraries(miniunz_bin minizip ${MINIZIP_LIBRARIES})
+
+  set_target_properties(minizip_bin PROPERTIES OUTPUT_NAME minizip)
+  set_target_properties(miniunz_bin PROPERTIES OUTPUT_NAME miniunz)
+endif()
+
+install(
+  TARGETS minizip
+  EXPORT minizipTargets
+  RUNTIME DESTINATION bin
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file("${PROJECT_BINARY_DIR}/minizipConfigVersion.cmake"
+                                    COMPATIBILITY SameMajorVersion)
+
+configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/minizipConfig.cmake.in
+                                minizipConfig.cmake
+                                INSTALL_DESTINATION share/minizip)
+
+install(FILES
+        "${PROJECT_BINARY_DIR}/minizipConfig.cmake"
+        "${PROJECT_BINARY_DIR}/minizipConfigVersion.cmake"
+        DESTINATION share/minizip
+)
+
+install(EXPORT minizipTargets
+        NAMESPACE minizip::
+        DESTINATION share/minizip
+)
+
+if(NOT DISABLE_INSTALL_TOOLS)
+  install (
+    TARGETS minizip_bin miniunz_bin
+    RUNTIME DESTINATION tools/minizip
+  )
+endif()
+
+if(NOT DISABLE_INSTALL_HEADERS)
+  install(FILES ${HEADERS} DESTINATION include/minizip)
+endif()