CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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(lib_lottie OBJECT)
  7. add_library(desktop-app::lib_lottie ALIAS lib_lottie)
  8. init_target(lib_lottie)
  9. get_filename_component(src_loc . REALPATH)
  10. nice_target_sources(lib_lottie ${src_loc}
  11. PRIVATE
  12. lottie/details/lottie_frame_provider.h
  13. lottie/details/lottie_frame_provider_direct.cpp
  14. lottie/details/lottie_frame_provider_direct.h
  15. lottie/details/lottie_frame_provider_shared.cpp
  16. lottie/details/lottie_frame_provider_shared.h
  17. lottie/details/lottie_frame_renderer.cpp
  18. lottie/details/lottie_frame_renderer.h
  19. lottie/lottie_animation.cpp
  20. lottie/lottie_animation.h
  21. lottie/lottie_common.cpp
  22. lottie/lottie_common.h
  23. lottie/lottie_frame_generator.cpp
  24. lottie/lottie_frame_generator.h
  25. lottie/lottie_multi_player.cpp
  26. lottie/lottie_multi_player.h
  27. lottie/lottie_player.h
  28. lottie/lottie_single_player.cpp
  29. lottie/lottie_single_player.h
  30. lottie/lottie_icon.cpp
  31. lottie/lottie_icon.h
  32. )
  33. if (DESKTOP_APP_LOTTIE_USE_CACHE)
  34. nice_target_sources(lib_lottie ${src_loc}
  35. PRIVATE
  36. lottie/details/lottie_cache.cpp
  37. lottie/details/lottie_cache.h
  38. lottie/details/lottie_cache_frame_storage.cpp
  39. lottie/details/lottie_cache_frame_storage.h
  40. lottie/details/lottie_frame_provider_cached.cpp
  41. lottie/details/lottie_frame_provider_cached.h
  42. lottie/details/lottie_frame_provider_cached_multi.cpp
  43. lottie/details/lottie_frame_provider_cached_multi.h
  44. )
  45. target_compile_definitions(lib_lottie PRIVATE LOTTIE_USE_CACHE)
  46. target_link_libraries(lib_lottie
  47. PRIVATE
  48. desktop-app::lib_ffmpeg
  49. desktop-app::external_lz4
  50. )
  51. endif()
  52. if (DESKTOP_APP_USE_PACKAGED_RLOTTIE)
  53. target_compile_definitions(lib_lottie PRIVATE LOTTIE_USE_PACKAGED_RLOTTIE)
  54. endif()
  55. target_include_directories(lib_lottie
  56. PUBLIC
  57. ${src_loc}
  58. )
  59. target_link_libraries(lib_lottie
  60. PUBLIC
  61. desktop-app::lib_ui
  62. PRIVATE
  63. desktop-app::external_rlottie
  64. )