diff --git a/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt b/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt new file mode 100644 index 0000000000..c4d47fb012 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt @@ -0,0 +1,41 @@ +# 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) + +file(GLOB_RECURSE hermes_executor_SRC CONFIGURE_DEPENDS *.cpp) + +if(${CMAKE_BUILD_TYPE} MATCHES Debug) + set(HERMES_TARGET_SUFFIX debug) +else() + set(HERMES_TARGET_SUFFIX release) +endif() + +set(HERMES_TARGET_NAME hermes-executor-${HERMES_TARGET_SUFFIX}) + +add_library( + ${HERMES_TARGET_NAME} + SHARED + ${hermes_executor_SRC} +) +target_compile_options( + ${HERMES_TARGET_NAME} + PRIVATE + $<$:-DHERMES_ENABLE_DEBUGGER=1> + -fexceptions +) +target_include_directories(${HERMES_TARGET_NAME} PRIVATE .) +target_link_libraries( + ${HERMES_TARGET_NAME} + hermes-executor-common + jsireact + fb + fbjni + folly_json + hermes-engine::libhermes + jsi + reactnativejni +) diff --git a/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt b/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt index bc23ad9506..45ffd31f75 100644 --- a/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +++ b/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt @@ -10,6 +10,6 @@ add_compile_options(-fexceptions -fno-omit-frame-pointer) add_library(glog_init SHARED glog_init.cpp) -target_include_directories(yoga PUBLIC .) +target_include_directories(glog_init PUBLIC .) target_link_libraries(glog_init log glog) diff --git a/ReactCommon/hermes/executor/CMakeLists.txt b/ReactCommon/hermes/executor/CMakeLists.txt new file mode 100644 index 0000000000..a6d8bbac1d --- /dev/null +++ b/ReactCommon/hermes/executor/CMakeLists.txt @@ -0,0 +1,29 @@ +# 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) + +file(GLOB_RECURSE hermes_executor_SRC CONFIGURE_DEPENDS *.cpp) +add_library( + hermes-executor-common + STATIC + ${hermes_executor_SRC} +) +target_include_directories(hermes-executor-common PUBLIC .) +target_link_libraries(hermes-executor-common + jsireact + hermes-engine::libhermes + jsi + debug hermes-inspector +) + +if(${CMAKE_BUILD_TYPE} MATCHES Debug) + target_compile_options( + hermes-executor-common + PRIVATE + -DHERMES_ENABLE_DEBUGGER=1 + ) +endif() diff --git a/ReactCommon/hermes/inspector/CMakeLists.txt b/ReactCommon/hermes/inspector/CMakeLists.txt new file mode 100644 index 0000000000..679c916b9d --- /dev/null +++ b/ReactCommon/hermes/inspector/CMakeLists.txt @@ -0,0 +1,32 @@ +# 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) + +file(GLOB hermesinspector_SRC CONFIGURE_DEPENDS *.cpp detail/*.cpp chrome/*.cpp) + +add_library(hermes-inspector + STATIC + ${hermesinspector_SRC}) + +target_compile_options( + hermes-inspector + PRIVATE + -DHERMES_ENABLE_DEBUGGER=1 + -DHERMES_INSPECTOR_FOLLY_KLUDGE=1 + -fexceptions +) + +target_include_directories(hermes-inspector PUBLIC ${REACT_COMMON_DIR}) +target_link_libraries(hermes-inspector + jsinspector + fb + fbjni + folly_futures + folly_json + glog + hermes-engine::libhermes + jsi) diff --git a/ReactCommon/react/debug/CMakeLists.txt b/ReactCommon/react/debug/CMakeLists.txt index 7c92d79cd9..f4b205314a 100644 --- a/ReactCommon/react/debug/CMakeLists.txt +++ b/ReactCommon/react/debug/CMakeLists.txt @@ -17,7 +17,6 @@ add_compile_options( file(GLOB react_debug_SRC CONFIGURE_DEPENDS *.cpp) add_library(react_debug SHARED ${react_debug_SRC}) -# TODO This should not be ../../.. but a proper variable -target_include_directories(react_debug PUBLIC ../../..) +target_include_directories(react_debug PUBLIC ${REACT_COMMON_DIR}) target_link_libraries(react_debug log folly_json)