Files
react-native/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt
T
Nicola Corti 6ced6fe1b5 Move react_codegen_* + react_nativemodules_* libraries to static linking (#45639)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45639

There is a circular dependency between libreactnative.so and libreact_codegen_rncore.so which I'm breaking here.

Changelog:
[Internal] [Changed] - Move react_codegen_* + react_nativemodules_* libraries to static linking

Reviewed By: cipolleschi

Differential Revision: D55799200

fbshipit-source-id: 53f814636f016a8c93f40b0456686228dfb46888
2024-07-26 07:00:32 -07:00

37 lines
1.2 KiB
CMake

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
cmake_minimum_required(VERSION 3.13)
set(CMAKE_VERBOSE_MAKEFILE on)
add_compile_options(
-fexceptions
-frtti
-std=c++20
-Wall
-Wpedantic
-DFOLLY_NO_CONFIG=1
-DLOG_TAG=\"ReactNative\")
file(GLOB nativecxxmoduleexample_SRC CONFIGURE_DEPENDS *.cpp)
add_library(nativecxxmoduleexample STATIC ${nativecxxmoduleexample_SRC})
target_include_directories(nativecxxmoduleexample PUBLIC .)
target_link_libraries(nativecxxmoduleexample
fbjni
jsi
reactnative
)
# For Gradle Syncs (i.e. when you first open the project in Android Studio),
# the react_codegen_AppSpecs target is not existing yet as it's generated by
# Codegen. Therefore skip the linking with that library if it's missing in the
# CMake dependency Graph. It will be included anyway in the final build.
if (TARGET react_codegen_AppSpecs)
target_include_directories(react_codegen_AppSpecs PUBLIC .)
target_link_libraries(nativecxxmoduleexample react_codegen_AppSpecs)
endif ()