# 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 ()
