#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
--- /dev/null
+#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
-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()
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()
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;
}