diff --git a/CMakeLists.txt b/CMakeLists.txt index 8284907885..8b7108a802 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,17 @@ set_target_properties(rlottie PROPERTIES #declare alias so that library can be used inside the build tree, e.g. when testing add_library(rlottie::rlottie ALIAS rlottie) +option(LOTTIE_MODULE "Enable LOTTIE MODULE SUPPORT" ON) +option(LOTTIE_THREAD "Enable LOTTIE THREAD SUPPORT" ON) +option(LOTTIE_CACHE "Enable LOTTIE CACHE SUPPORT" ON) + +CONFIGURE_FILE(${CMAKE_CURRENT_LIST_DIR}/cmake/config.h.in config.h) + +target_include_directories(rlottie + PRIVATE + "${CMAKE_CURRENT_BINARY_DIR}" + ) + #declare target compilation options target_compile_options(rlottie PUBLIC diff --git a/cmake/config.h.in b/cmake/config.h.in new file mode 100644 index 0000000000..e120bba17e --- /dev/null +++ b/cmake/config.h.in @@ -0,0 +1,17 @@ +#cmakedefine LOTTIE_MODULE + +#ifdef LOTTIE_MODULE +#define LOTTIE_IMAGE_MODULE_SUPPORT +#endif + +#cmakedefine LOTTIE_THREAD + +#ifdef LOTTIE_THREAD +#define LOTTIE_THREAD_SUPPORT +#endif + +#cmakedefine LOTTIE_CACHE + +#ifdef LOTTIE_CACHE +#define LOTTIE_CACHE_SUPPORT +#endif diff --git a/src/vector/stb/CMakeLists.txt b/src/vector/stb/CMakeLists.txt index 9c9a530477..2b6abd1249 100644 --- a/src/vector/stb/CMakeLists.txt +++ b/src/vector/stb/CMakeLists.txt @@ -1,7 +1,14 @@ -add_library(rlottie-image-loader SHARED - stb_image.cpp +if(LOTTIE_MODULE) + add_library(rlottie-image-loader SHARED + stb_image.cpp + ) + install(TARGETS rlottie-image-loader + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} ) -install(TARGETS rlottie-image-loader - LIBRARY DESTINATION ${LIB_INSTALL_DIR} - ARCHIVE DESTINATION ${LIB_INSTALL_DIR} - ) +else() + target_sources(rlottie + PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/stb_image.cpp" + ) +endif() diff --git a/src/vector/vimageloader.cpp b/src/vector/vimageloader.cpp index b91554b31c..b28330efcb 100644 --- a/src/vector/vimageloader.cpp +++ b/src/vector/vimageloader.cpp @@ -35,7 +35,7 @@ struct VImageLoader::Impl { lottie_image_free_f imageFree{nullptr}; lottie_image_load_data_f imageFromData{nullptr}; -#if LOTTIE_IMAGE_MODULE_SUPPORT +#ifdef LOTTIE_IMAGE_MODULE_SUPPORT #ifdef _WIN32 HMODULE dl_handle{nullptr}; bool moduleLoad() diff --git a/src/vector/vline.h b/src/vector/vline.h index f80d3215ac..869d1983f4 100644 --- a/src/vector/vline.h +++ b/src/vector/vline.h @@ -55,7 +55,7 @@ inline float VLine::angle() const const float dx = mX2 - mX1; const float dy = mY2 - mY1; - const float theta = std::atan2f(dy, dx) * 180.0f / K_PI; + const float theta = std::atan2(dy, dx) * 180.0f / K_PI; return theta; }