UNPKG

2.08 kBPlain TextView Raw
1project(Reanimated)
2cmake_minimum_required(VERSION 3.8)
3
4set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
5set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "")
6
7if(${REACT_NATIVE_MINOR_VERSION} GREATER_EQUAL 73)
8 set(CMAKE_CXX_STANDARD 20)
9else()
10 set(CMAKE_CXX_STANDARD 17)
11endif()
12
13# default CMAKE_CXX_FLAGS: "-g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-protector-all"
14include("${REACT_NATIVE_DIR}/ReactAndroid/cmake-utils/folly-flags.cmake")
15add_compile_options(${folly_FLAGS})
16
17string(APPEND CMAKE_CXX_FLAGS " -DREACT_NATIVE_MINOR_VERSION=${REACT_NATIVE_MINOR_VERSION} -DREANIMATED_VERSION=${REANIMATED_VERSION} -DHERMES_ENABLE_DEBUGGER=${HERMES_ENABLE_DEBUGGER}")
18
19string(APPEND CMAKE_CXX_FLAGS " -fexceptions -fno-omit-frame-pointer -frtti -fstack-protector-all -std=c++${CMAKE_CXX_STANDARD} -Wall -Werror")
20
21if(${IS_NEW_ARCHITECTURE_ENABLED})
22 string(APPEND CMAKE_CXX_FLAGS " -DRCT_NEW_ARCH_ENABLED")
23endif()
24
25if(${IS_REANIMATED_EXAMPLE_APP})
26 string(APPEND CMAKE_CXX_FLAGS " -DIS_REANIMATED_EXAMPLE_APP -Wpedantic")
27endif()
28
29if(NOT ${CMAKE_BUILD_TYPE} MATCHES "Debug")
30 string(APPEND CMAKE_CXX_FLAGS " -DNDEBUG")
31endif()
32
33if(${JS_RUNTIME} STREQUAL "hermes")
34 string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_HERMES=1")
35elseif(${JS_RUNTIME} STREQUAL "jsc")
36 string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_JSC=1")
37elseif(${JS_RUNTIME} STREQUAL "v8")
38 string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_V8=1")
39else()
40 message(FATAL_ERROR "Unknown JS runtime ${JS_RUNTIME}.")
41endif()
42
43# Resolves "CMake Warning: Manually-specified variables were not used by the
44# project" when any of the following variables is not used in some build
45# configuration.
46set(ignoreMe "${JS_RUNTIME_DIR}")
47
48set(BUILD_DIR "${CMAKE_SOURCE_DIR}/build")
49set(ANDROID_CPP_DIR "${CMAKE_SOURCE_DIR}/src/main/cpp")
50set(COMMON_CPP_DIR "${CMAKE_SOURCE_DIR}/../Common/cpp")
51
52add_subdirectory("${ANDROID_CPP_DIR}/worklets")
53add_subdirectory("${ANDROID_CPP_DIR}/reanimated")