lib_lottie/CMakeLists.txt

73 lines
2.2 KiB
CMake

# This file is part of Desktop App Toolkit,
# a set of libraries for developing nice desktop applications.
#
# For license and copyright information please follow this link:
# https://github.com/desktop-app/legal/blob/master/LEGAL
add_library(lib_lottie OBJECT)
add_library(desktop-app::lib_lottie ALIAS lib_lottie)
init_target(lib_lottie)
get_filename_component(src_loc . REALPATH)
nice_target_sources(lib_lottie ${src_loc}
PRIVATE
lottie/details/lottie_frame_provider.h
lottie/details/lottie_frame_provider_direct.cpp
lottie/details/lottie_frame_provider_direct.h
lottie/details/lottie_frame_provider_shared.cpp
lottie/details/lottie_frame_provider_shared.h
lottie/details/lottie_frame_renderer.cpp
lottie/details/lottie_frame_renderer.h
lottie/lottie_animation.cpp
lottie/lottie_animation.h
lottie/lottie_common.cpp
lottie/lottie_common.h
lottie/lottie_frame_generator.cpp
lottie/lottie_frame_generator.h
lottie/lottie_multi_player.cpp
lottie/lottie_multi_player.h
lottie/lottie_player.h
lottie/lottie_single_player.cpp
lottie/lottie_single_player.h
lottie/lottie_icon.cpp
lottie/lottie_icon.h
lottie/lottie_toast_icon.cpp
lottie/lottie_toast_icon.h
)
if (DESKTOP_APP_LOTTIE_USE_CACHE)
nice_target_sources(lib_lottie ${src_loc}
PRIVATE
lottie/details/lottie_cache.cpp
lottie/details/lottie_cache.h
lottie/details/lottie_cache_frame_storage.cpp
lottie/details/lottie_cache_frame_storage.h
lottie/details/lottie_frame_provider_cached.cpp
lottie/details/lottie_frame_provider_cached.h
lottie/details/lottie_frame_provider_cached_multi.cpp
lottie/details/lottie_frame_provider_cached_multi.h
)
target_compile_definitions(lib_lottie PRIVATE LOTTIE_USE_CACHE)
target_link_libraries(lib_lottie
PRIVATE
desktop-app::lib_ffmpeg
desktop-app::external_lz4
)
endif()
if (DESKTOP_APP_LOTTIE_DISABLE_RECOLORING)
target_compile_definitions(lib_lottie PRIVATE LOTTIE_DISABLE_RECOLORING)
endif()
target_include_directories(lib_lottie
PUBLIC
${src_loc}
)
target_link_libraries(lib_lottie
PUBLIC
desktop-app::lib_ui
PRIVATE
desktop-app::external_rlottie
)