CMakeLists.txt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # This file is part of Desktop App Toolkit,
  2. # a set of libraries for developing nice desktop applications.
  3. #
  4. # For license and copyright information please follow this link:
  5. # https://github.com/desktop-app/legal/blob/master/LEGAL
  6. add_library(external_minizip INTERFACE IMPORTED GLOBAL)
  7. add_library(desktop-app::external_minizip ALIAS external_minizip)
  8. if (DESKTOP_APP_USE_PACKAGED)
  9. find_package(PkgConfig REQUIRED)
  10. pkg_check_modules(MINIZIP IMPORTED_TARGET minizip<2.0.0)
  11. if (MINIZIP_FOUND)
  12. target_link_libraries(external_minizip INTERFACE PkgConfig::MINIZIP)
  13. return()
  14. endif()
  15. endif()
  16. add_library(external_minizip_bundled STATIC)
  17. init_target(external_minizip_bundled "(external)")
  18. set(minizip_loc ${third_party_loc}/minizip)
  19. target_sources(external_minizip_bundled
  20. PRIVATE
  21. ${minizip_loc}/crypt.h
  22. ${minizip_loc}/ioapi.c
  23. ${minizip_loc}/ioapi.h
  24. ${minizip_loc}/zip.c
  25. ${minizip_loc}/zip.h
  26. ${minizip_loc}/unzip.c
  27. ${minizip_loc}/unzip.h
  28. )
  29. target_include_directories(external_minizip_bundled SYSTEM
  30. PUBLIC
  31. ${minizip_loc}
  32. )
  33. target_link_libraries(external_minizip_bundled
  34. PRIVATE
  35. desktop-app::external_zlib
  36. )
  37. target_link_libraries(external_minizip
  38. INTERFACE
  39. external_minizip_bundled
  40. )