react-native-svg
Version:
SVG library for react-native
97 lines (85 loc) • 2.11 kB
Plain Text
cmake_minimum_required(VERSION 3.13)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(RNSVG_ANDROID_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
set(RNSVG_COMMON_DIR ${RNSVG_ANDROID_DIR}/../common/cpp)
set(RNSVG_GENERATED_DIR ${RNSVG_ANDROID_DIR}/build/generated)
set(RNSVG_GENERATED_JNI_DIR ${RNSVG_GENERATED_DIR}/source/codegen/jni)
set(RNSVG_GENERATED_REACT_DIR ${RNSVG_GENERATED_JNI_DIR}/react/renderer/components/rnsvg)
file(GLOB rnsvg_SRCS CONFIGURE_DEPENDS *.cpp ${RNSVG_COMMON_DIR}/react/renderer/components/rnsvg/*.cpp)
file(GLOB rnsvg_codegen_SRCS CONFIGURE_DEPENDS ${RNSVG_GENERATED_REACT_DIR}/*cpp)
add_library(
react_codegen_rnsvg
SHARED
${rnsvg_SRCS}
${rnsvg_codegen_SRCS}
)
target_include_directories(
react_codegen_rnsvg
PUBLIC
.
${RNSVG_COMMON_DIR}
${RNSVG_GENERATED_JNI_DIR}
${RNSVG_GENERATED_REACT_DIR}
)
find_package(ReactAndroid REQUIRED CONFIG)
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
target_link_libraries(
react_codegen_rnsvg
ReactAndroid::reactnative
ReactAndroid::jsi
)
else()
target_link_libraries(
react_codegen_rnsvg
folly_runtime
glog
jsi
react_codegen_rncore
react_debug
react_nativemodule_core
react_render_core
react_render_debug
react_render_graphics
react_render_mapbuffer
rrc_image
react_render_componentregistry
rrc_view
turbomodulejsijni
yoga
react_render_imagemanager
react_utils
)
endif()
target_link_libraries(
react_codegen_rnsvg
fbjni
)
target_include_directories(
${CMAKE_PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 80)
target_compile_reactnative_options(react_codegen_rnsvg PUBLIC)
else()
target_compile_options(
react_codegen_rnsvg
PRIVATE
-fexceptions
-frtti
-std=c++20
-Wall
)
endif()
target_compile_options(
react_codegen_rnsvg
PRIVATE
-Wpedantic
-Wno-gnu-zero-variadic-macro-arguments
-Wno-dollar-in-identifier-extension
)
target_compile_definitions(
react_codegen_rnsvg
PRIVATE
REACT_NATIVE_MINOR_VERSION=${ReactAndroid_VERSION_MINOR}
)