Skip to content

Commit

Permalink
use vcpkg ports for rapidjson
Browse files Browse the repository at this point in the history
  • Loading branch information
SHIINASAMA committed Oct 18, 2024
1 parent a5453dd commit 7f748ce
Show file tree
Hide file tree
Showing 4 changed files with 99 additions and 96 deletions.
2 changes: 1 addition & 1 deletion ports/rlottie/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ vcpkg_from_github(
REF e3026b1e1a516fff3c22d2b1b9f26ec864f89a82
SHA512 3b9985606d9c475e77ecb018cfe65cde1170f10e9d2c3e18b60178d3954a4870e5141aa06bb79e803fcdbcf98742bcf72a359625a3b1409125ec3a4a1b0126c4
PATCHES
0001-export-runtime-and-modify-pixman.patch
vcpkg.patch
)

vcpkg_cmake_configure(
Expand Down
5 changes: 1 addition & 4 deletions ports/rlottie/vcpkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
"description": "A platform independent standalone library that plays Lottie Animation.",
"homepage": "https://github.com/Samsung/rlottie",
"dependencies": [
{
"name": "freetype",
"default-features": false
},
"rapidjson",
{
"name": "vcpkg-cmake",
"host": true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,90 +1,96 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 38a9862..3bb9d39 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -75,8 +75,6 @@ endif()

if (WIN32 AND NOT BUILD_SHARED_LIBS)
target_compile_definitions(rlottie PUBLIC -DRLOTTIE_BUILD=0)
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
endif()

#declare dependancy
@@ -88,13 +86,6 @@ target_link_libraries(rlottie
"${CMAKE_THREAD_LIBS_INIT}"
)

-if (NOT APPLE AND NOT WIN32)
- target_link_libraries(rlottie
- PRIVATE
- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/rlottie.expmap"
- )
-endif()
-
if (LOTTIE_MODULE)
# for dlopen, dlsym and dlclose dependancy
target_link_libraries(rlottie PRIVATE ${CMAKE_DL_LIBS})
@@ -165,6 +156,7 @@ install( TARGETS rlottie EXPORT rlottie-targets
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
INCLUDES DESTINATION include
+ RUNTIME DESTINATION bin
)

#install config file.
diff --git a/src/vector/freetype/CMakeLists.txt b/src/vector/freetype/CMakeLists.txt
index add0d42..d7d487d 100644
--- a/src/vector/freetype/CMakeLists.txt
+++ b/src/vector/freetype/CMakeLists.txt
@@ -1,11 +1,2 @@
-target_sources(rlottie
- PRIVATE
- "${CMAKE_CURRENT_LIST_DIR}/v_ft_math.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/v_ft_raster.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/v_ft_stroker.cpp"
- )
-
-target_include_directories(rlottie
- PRIVATE
- "${CMAKE_CURRENT_LIST_DIR}"
- )
+find_package(Freetype REQUIRED)
+target_link_libraries(rlottie PRIVATE Freetype::Freetype)
diff --git a/src/vector/vdrawhelper_neon.cpp b/src/vector/vdrawhelper_neon.cpp
index 681eabb..e178012 100644
--- a/src/vector/vdrawhelper_neon.cpp
+++ b/src/vector/vdrawhelper_neon.cpp
@@ -2,28 +2,20 @@

#include "vdrawhelper.h"

-extern "C" void pixman_composite_src_n_8888_asm_neon(int32_t w, int32_t h,
- uint32_t *dst,
- int32_t dst_stride,
- uint32_t src);
-
-extern "C" void pixman_composite_over_n_8888_asm_neon(int32_t w, int32_t h,
- uint32_t *dst,
- int32_t dst_stride,
- uint32_t src);
-
void memfill32(uint32_t *dest, uint32_t value, int length)
{
- pixman_composite_src_n_8888_asm_neon(length, 1, dest, length, value);
+ memset(dest, value, length);
}

static void color_SourceOver(uint32_t *dest, int length,
uint32_t color,
uint32_t const_alpha)
{
+ int ialpha, i;
if (const_alpha != 255) color = BYTE_MUL(color, const_alpha);

- pixman_composite_over_n_8888_asm_neon(length, 1, dest, length, color);
+ ialpha = 255 - vAlpha(color);
+ for (i = 0; i < length; ++i) dest[i] = color + BYTE_MUL(dest[i], ialpha);
}

void RenderFuncTable::neon()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 38a9862..eca77d5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,6 +16,10 @@ endif()
add_library( rlottie )
set_target_properties( rlottie PROPERTIES DEFINE_SYMBOL RLOTTIE_BUILD )

+#use vcpkg ports
+find_package(RapidJSON CONFIG REQUIRED)
+target_link_libraries(rlottie PRIVATE rapidjson)
+
#declare version of the target
set(player_version_major 0)
set(player_version_minor 2)
@@ -75,8 +79,6 @@ endif()

if (WIN32 AND NOT BUILD_SHARED_LIBS)
target_compile_definitions(rlottie PUBLIC -DRLOTTIE_BUILD=0)
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
endif()

#declare dependancy
@@ -88,13 +90,6 @@ target_link_libraries(rlottie
"${CMAKE_THREAD_LIBS_INIT}"
)

-if (NOT APPLE AND NOT WIN32)
- target_link_libraries(rlottie
- PRIVATE
- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/rlottie.expmap"
- )
-endif()
-
if (LOTTIE_MODULE)
# for dlopen, dlsym and dlclose dependancy
target_link_libraries(rlottie PRIVATE ${CMAKE_DL_LIBS})
@@ -165,6 +160,7 @@ install( TARGETS rlottie EXPORT rlottie-targets
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
INCLUDES DESTINATION include
+ RUNTIME DESTINATION bin
)

#install config file.
diff --git a/src/lottie/lottieparser.cpp b/src/lottie/lottieparser.cpp
index b33effa..c7bb421 100644
--- a/src/lottie/lottieparser.cpp
+++ b/src/lottie/lottieparser.cpp
@@ -56,7 +56,7 @@
#include <array>

#include "lottiemodel.h"
-#include "rapidjson/document.h"
+#include <rapidjson/document.h>
#include "zip/zip.h"

RAPIDJSON_DIAG_PUSH
diff --git a/src/vector/vdrawhelper_neon.cpp b/src/vector/vdrawhelper_neon.cpp
index 681eabb..e178012 100644
--- a/src/vector/vdrawhelper_neon.cpp
+++ b/src/vector/vdrawhelper_neon.cpp
@@ -2,28 +2,20 @@

#include "vdrawhelper.h"

-extern "C" void pixman_composite_src_n_8888_asm_neon(int32_t w, int32_t h,
- uint32_t *dst,
- int32_t dst_stride,
- uint32_t src);
-
-extern "C" void pixman_composite_over_n_8888_asm_neon(int32_t w, int32_t h,
- uint32_t *dst,
- int32_t dst_stride,
- uint32_t src);
-
void memfill32(uint32_t *dest, uint32_t value, int length)
{
- pixman_composite_src_n_8888_asm_neon(length, 1, dest, length, value);
+ memset(dest, value, length);
}

static void color_SourceOver(uint32_t *dest, int length,
uint32_t color,
uint32_t const_alpha)
{
+ int ialpha, i;
if (const_alpha != 255) color = BYTE_MUL(color, const_alpha);

- pixman_composite_over_n_8888_asm_neon(length, 1, dest, length, color);
+ ialpha = 255 - vAlpha(color);
+ for (i = 0; i < length; ++i) dest[i] = color + BYTE_MUL(dest[i], ialpha);
}

void RenderFuncTable::neon()
2 changes: 1 addition & 1 deletion versions/r-/rlottie.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"versions": [
{
"git-tree": "1f320830fd26ad55a123e4fccf39ecee79e659a0",
"git-tree": "240aaf05996e3b5e5e3de0df92448bf60a5546c2",
"version-date": "2024-08-26",
"port-version": 0
}
Expand Down

0 comments on commit 7f748ce

Please sign in to comment.