diff --git a/apps/fabric-example/ios/Podfile.lock b/apps/fabric-example/ios/Podfile.lock index 7cb37b8aab76..eedc29cc68bf 100644 --- a/apps/fabric-example/ios/Podfile.lock +++ b/apps/fabric-example/ios/Podfile.lock @@ -1380,6 +1380,50 @@ PODS: - ReactCommon/turbomodule/core - Yoga - RNReanimated (3.14.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/reanimated (= 3.14.0) + - RNReanimated/worklets (= 3.14.0) + - Yoga + - RNReanimated/reanimated (3.14.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNReanimated/worklets (3.14.0): - DoubleConversion - glog - hermes-engine @@ -1757,7 +1801,7 @@ SPEC CHECKSUMS: RNCPicker: e84f13a98cbc8977870692948ccae15a389461bb RNFlashList: c52e511c81ede0b8e44d4eb884b8a861976b111d RNGestureHandler: 156548e18203327173a764c6932a3f52e90cb9cd - RNReanimated: 3ab1513708434e176c54fb5de2518f047765c0cb + RNReanimated: 062288a39daae5d5dcd59174b530e886a423a957 RNScreens: a68878603ae871d339f683bc683803545422986f RNSVG: 02051bffb0b2fb2166e85009a58211643434ff63 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d diff --git a/apps/paper-example/ios/Podfile.lock b/apps/paper-example/ios/Podfile.lock index b7ca61240124..679118c2adb9 100644 --- a/apps/paper-example/ios/Podfile.lock +++ b/apps/paper-example/ios/Podfile.lock @@ -1256,6 +1256,50 @@ PODS: - ReactCommon/turbomodule/core - Yoga - RNReanimated (3.14.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/reanimated (= 3.14.0) + - RNReanimated/worklets (= 3.14.0) + - Yoga + - RNReanimated/reanimated (3.14.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNReanimated/worklets (3.14.0): - DoubleConversion - glog - hermes-engine @@ -1570,7 +1614,7 @@ SPEC CHECKSUMS: RNCPicker: 3e2c37a8328f368ce14da050cdc8231deb5fc9f9 RNFlashList: e9b57a5553639f9b528cc50ab53f25831722ed62 RNGestureHandler: 2282cfbcf86c360d29f44ace393203afd5c6cff7 - RNReanimated: 03a170d6b020e03de41bbc6817c665f8679248f8 + RNReanimated: 771c92dd6787dd6f18889dea61ff423694bff638 RNScreens: 52f2565581af64b1b410d49784cf8342ed94ca28 RNSVG: 43b64ed39c14ce830d840903774154ca0c1f27ec SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d diff --git a/packages/react-native-reanimated/Common/cpp/Tools/ReanimatedHiddenHeaders.h b/packages/react-native-reanimated/Common/cpp/Tools/ReanimatedHiddenHeaders.h deleted file mode 100644 index c1a05456d8c7..000000000000 --- a/packages/react-native-reanimated/Common/cpp/Tools/ReanimatedHiddenHeaders.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#ifdef ANDROID -#include "Logger.h" -#include "LoggerInterface.h" -#include "SpeedChecker.h" -#else -#include "Common/cpp/hidden_headers/Logger.h" -#include "Common/cpp/hidden_headers/LoggerInterface.h" -#include "Common/cpp/hidden_headers/SpeedChecker.h" -#endif diff --git a/packages/react-native-reanimated/Common/cpp/AnimatedSensor/AnimatedSensorModule.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/AnimatedSensor/AnimatedSensorModule.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp diff --git a/packages/react-native-reanimated/Common/cpp/AnimatedSensor/AnimatedSensorModule.h b/packages/react-native-reanimated/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/AnimatedSensor/AnimatedSensorModule.h rename to packages/react-native-reanimated/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h diff --git a/packages/react-native-reanimated/Common/cpp/Fabric/PropsRegistry.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/Fabric/PropsRegistry.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Fabric/PropsRegistry.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/Fabric/PropsRegistry.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Fabric/PropsRegistry.h b/packages/react-native-reanimated/Common/cpp/reanimated/Fabric/PropsRegistry.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Fabric/PropsRegistry.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Fabric/PropsRegistry.h diff --git a/packages/react-native-reanimated/Common/cpp/Fabric/ReanimatedCommitHook.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Fabric/ReanimatedCommitHook.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Fabric/ReanimatedCommitHook.h b/packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Fabric/ReanimatedCommitHook.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h diff --git a/packages/react-native-reanimated/Common/cpp/Fabric/ReanimatedCommitShadowNode.h b/packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Fabric/ReanimatedCommitShadowNode.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h diff --git a/packages/react-native-reanimated/Common/cpp/Fabric/ShadowTreeCloner.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Fabric/ShadowTreeCloner.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Fabric/ShadowTreeCloner.h b/packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Fabric/ShadowTreeCloner.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h diff --git a/packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationType.h b/packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationType.h rename to packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h diff --git a/packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsManager.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp similarity index 99% rename from packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsManager.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp index b81720ca47d6..5269cef3f363 100644 --- a/packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsManager.cpp +++ b/packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp @@ -1,6 +1,5 @@ #include "LayoutAnimationsManager.h" #include "CollectionUtils.h" -#include "Shareables.h" #ifndef NDEBUG #include diff --git a/packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsManager.h b/packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsManager.h rename to packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h diff --git a/packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy.cpp diff --git a/packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.h b/packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.h rename to packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy.h diff --git a/packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp diff --git a/packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.h b/packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.h rename to packages/react-native-reanimated/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h diff --git a/packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModule.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModule.cpp similarity index 99% rename from packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModule.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModule.cpp index 5e6aa6eab4da..2db7f14f19db 100644 --- a/packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModule.cpp +++ b/packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModule.cpp @@ -10,9 +10,7 @@ #include #include -#include #include -#include #include #include @@ -26,7 +24,6 @@ #include "CollectionUtils.h" #include "EventHandlerRegistry.h" #include "FeaturesConfig.h" -#include "JSScheduler.h" #include "ReanimatedHiddenHeaders.h" #include "Shareables.h" #include "UIRuntimeDecorator.h" diff --git a/packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModule.h b/packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModule.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModule.h rename to packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModule.h diff --git a/packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModuleSpec.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModuleSpec.cpp diff --git a/packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModuleSpec.h b/packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModuleSpec.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModuleSpec.h rename to packages/react-native-reanimated/Common/cpp/reanimated/NativeModules/NativeReanimatedModuleSpec.h diff --git a/packages/react-native-reanimated/Common/cpp/Tools/CollectionUtils.h b/packages/react-native-reanimated/Common/cpp/reanimated/Tools/CollectionUtils.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Tools/CollectionUtils.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Tools/CollectionUtils.h diff --git a/packages/react-native-reanimated/Common/cpp/Tools/FeaturesConfig.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/Tools/FeaturesConfig.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Tools/FeaturesConfig.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/Tools/FeaturesConfig.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Tools/FeaturesConfig.h b/packages/react-native-reanimated/Common/cpp/reanimated/Tools/FeaturesConfig.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Tools/FeaturesConfig.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Tools/FeaturesConfig.h diff --git a/packages/react-native-reanimated/Common/cpp/Tools/PlatformDepMethodsHolder.h b/packages/react-native-reanimated/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Tools/PlatformDepMethodsHolder.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h diff --git a/packages/react-native-reanimated/Common/cpp/Tools/SingleInstanceChecker.h b/packages/react-native-reanimated/Common/cpp/reanimated/Tools/SingleInstanceChecker.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Tools/SingleInstanceChecker.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Tools/SingleInstanceChecker.h diff --git a/packages/react-native-reanimated/Common/cpp/Tools/UIRuntimeDecorator.cpp b/packages/react-native-reanimated/Common/cpp/reanimated/Tools/UIRuntimeDecorator.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Tools/UIRuntimeDecorator.cpp rename to packages/react-native-reanimated/Common/cpp/reanimated/Tools/UIRuntimeDecorator.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Tools/UIRuntimeDecorator.h b/packages/react-native-reanimated/Common/cpp/reanimated/Tools/UIRuntimeDecorator.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Tools/UIRuntimeDecorator.h rename to packages/react-native-reanimated/Common/cpp/reanimated/Tools/UIRuntimeDecorator.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Registries/EventHandlerRegistry.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Registries/EventHandlerRegistry.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Registries/EventHandlerRegistry.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Registries/EventHandlerRegistry.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Registries/EventHandlerRegistry.h b/packages/react-native-reanimated/Common/cpp/worklets/Registries/EventHandlerRegistry.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Registries/EventHandlerRegistry.h rename to packages/react-native-reanimated/Common/cpp/worklets/Registries/EventHandlerRegistry.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Registries/WorkletRuntimeRegistry.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Registries/WorkletRuntimeRegistry.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Registries/WorkletRuntimeRegistry.h b/packages/react-native-reanimated/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Registries/WorkletRuntimeRegistry.h rename to packages/react-native-reanimated/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/SharedItems/Shareables.cpp b/packages/react-native-reanimated/Common/cpp/worklets/SharedItems/Shareables.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/SharedItems/Shareables.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/SharedItems/Shareables.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/SharedItems/Shareables.h b/packages/react-native-reanimated/Common/cpp/worklets/SharedItems/Shareables.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/SharedItems/Shareables.h rename to packages/react-native-reanimated/Common/cpp/worklets/SharedItems/Shareables.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/AsyncQueue.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Tools/AsyncQueue.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/AsyncQueue.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/AsyncQueue.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/AsyncQueue.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/AsyncQueue.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/AsyncQueue.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/AsyncQueue.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSISerializer.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Tools/JSISerializer.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSISerializer.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/JSISerializer.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSISerializer.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/JSISerializer.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSISerializer.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/JSISerializer.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSLogger.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Tools/JSLogger.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSLogger.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/JSLogger.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSLogger.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/JSLogger.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSLogger.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/JSLogger.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSScheduler.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Tools/JSScheduler.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSScheduler.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/JSScheduler.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSScheduler.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/JSScheduler.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/JSScheduler.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/JSScheduler.h diff --git a/packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedHiddenHeaders.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedHiddenHeaders.h new file mode 100644 index 000000000000..4a68c5f915fd --- /dev/null +++ b/packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedHiddenHeaders.h @@ -0,0 +1,11 @@ +#pragma once + +#ifdef ANDROID +#include "Logger.h" +#include "LoggerInterface.h" +#include "SpeedChecker.h" +#else +#include "Common/cpp/Worklets/hidden_headers/Logger.h" +#include "Common/cpp/Worklets/hidden_headers/LoggerInterface.h" +#include "Common/cpp/Worklets/hidden_headers/SpeedChecker.h" +#endif diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/ReanimatedJSIUtils.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedJSIUtils.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/ReanimatedJSIUtils.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedJSIUtils.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/ReanimatedJSIUtils.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedJSIUtils.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/ReanimatedJSIUtils.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedJSIUtils.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/ReanimatedVersion.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedVersion.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/ReanimatedVersion.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedVersion.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/ReanimatedVersion.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedVersion.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/ReanimatedVersion.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/ReanimatedVersion.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/ThreadSafeQueue.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/ThreadSafeQueue.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/ThreadSafeQueue.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/ThreadSafeQueue.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/UIScheduler.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Tools/UIScheduler.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/UIScheduler.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/UIScheduler.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/UIScheduler.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/UIScheduler.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/UIScheduler.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/UIScheduler.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/WorkletEventHandler.cpp b/packages/react-native-reanimated/Common/cpp/worklets/Tools/WorkletEventHandler.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/WorkletEventHandler.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/WorkletEventHandler.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/Tools/WorkletEventHandler.h b/packages/react-native-reanimated/Common/cpp/worklets/Tools/WorkletEventHandler.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/Tools/WorkletEventHandler.h rename to packages/react-native-reanimated/Common/cpp/worklets/Tools/WorkletEventHandler.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/RNRuntimeDecorator.cpp b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/RNRuntimeDecorator.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/RNRuntimeDecorator.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/RNRuntimeDecorator.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/RNRuntimeDecorator.h b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/RNRuntimeDecorator.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/RNRuntimeDecorator.h rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/RNRuntimeDecorator.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/ReanimatedHermesRuntime.cpp b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/ReanimatedHermesRuntime.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/ReanimatedHermesRuntime.h b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/ReanimatedHermesRuntime.h rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/ReanimatedRuntime.cpp b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/ReanimatedRuntime.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/ReanimatedRuntime.h b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/ReanimatedRuntime.h rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/RuntimeInitialization.md b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/RuntimeInitialization.md similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/RuntimeInitialization.md rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/RuntimeInitialization.md diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntime.cpp b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.cpp similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntime.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.cpp diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntime.h b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntime.h rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntimeCollector.h b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeCollector.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntimeCollector.h rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeCollector.h diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp similarity index 98% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp index f5c8e93b4f72..2f0e06cfa5b2 100644 --- a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp +++ b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp @@ -9,7 +9,7 @@ #ifdef ANDROID #include "Logger.h" #else -#include "Common/cpp/hidden_headers/Logger.h" +#include "Common/cpp/Worklets/hidden_headers/Logger.h" #endif namespace reanimated { diff --git a/packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntimeDecorator.h b/packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/Worklets/WorkletRuntime/WorkletRuntimeDecorator.h rename to packages/react-native-reanimated/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.h diff --git a/packages/react-native-reanimated/Common/cpp/hidden_headers/Logger.h b/packages/react-native-reanimated/Common/cpp/worklets/hidden_headers/Logger.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/hidden_headers/Logger.h rename to packages/react-native-reanimated/Common/cpp/worklets/hidden_headers/Logger.h diff --git a/packages/react-native-reanimated/Common/cpp/hidden_headers/LoggerInterface.h b/packages/react-native-reanimated/Common/cpp/worklets/hidden_headers/LoggerInterface.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/hidden_headers/LoggerInterface.h rename to packages/react-native-reanimated/Common/cpp/worklets/hidden_headers/LoggerInterface.h diff --git a/packages/react-native-reanimated/Common/cpp/hidden_headers/SpeedChecker.h b/packages/react-native-reanimated/Common/cpp/worklets/hidden_headers/SpeedChecker.h similarity index 100% rename from packages/react-native-reanimated/Common/cpp/hidden_headers/SpeedChecker.h rename to packages/react-native-reanimated/Common/cpp/worklets/hidden_headers/SpeedChecker.h diff --git a/packages/react-native-reanimated/RNReanimated.podspec b/packages/react-native-reanimated/RNReanimated.podspec index 5d596d47d89c..af21d37f7156 100644 --- a/packages/react-native-reanimated/RNReanimated.podspec +++ b/packages/react-native-reanimated/RNReanimated.podspec @@ -77,14 +77,21 @@ Pod::Spec.new do |s| s.platforms = { :ios => ios_min_version, :tvos => "9.0", :osx => "10.14", :visionos => "1.0" } s.source = { :git => "https://github.com/software-mansion/react-native-reanimated.git", :tag => "#{s.version}" } - s.source_files = [ - "apple/**/*.{mm,h,m}", - "Common/cpp/**/*.{cpp,h}" - ] + s.subspec "reanimated" do |ss| + ss.source_files = [ + "apple/**/*.{mm,h,m}", + "Common/cpp/reanimated/**/*.{cpp,h}", + ] + end - s.preserve_paths = [ - "Common/cpp/hidden_headers/**" - ] + s.subspec "worklets" do |ss| + ss.source_files = [ + "Common/cpp/worklets/**/*.{cpp,h}", + ] + ss.preserve_paths = [ + "Common/cpp/worklets/hidden_headers/**" + ] + end gcc_debug_definitions = "$(inherited)" if $config[:react_native_minor_version] >= 73 || !is_release diff --git a/packages/react-native-reanimated/android/CMakeLists.txt b/packages/react-native-reanimated/android/CMakeLists.txt index 74185c74ed13..78041e8f1a0b 100644 --- a/packages/react-native-reanimated/android/CMakeLists.txt +++ b/packages/react-native-reanimated/android/CMakeLists.txt @@ -1,15 +1,18 @@ project(Reanimated) cmake_minimum_required(VERSION 3.8) -set (CMAKE_VERBOSE_MAKEFILE ON) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "") + +set(CMAKE_VERBOSE_MAKEFILE ON) + if(${REACT_NATIVE_MINOR_VERSION} GREATER_EQUAL 73) - set (CMAKE_CXX_STANDARD 20) + set(CMAKE_CXX_STANDARD 20) else() - set (CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD 17) endif() # 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" - include("${REACT_NATIVE_DIR}/ReactAndroid/cmake-utils/folly-flags.cmake") add_compile_options(${folly_FLAGS}) @@ -29,139 +32,25 @@ if(NOT ${CMAKE_BUILD_TYPE} MATCHES "Debug") string(APPEND CMAKE_CXX_FLAGS " -DNDEBUG") endif() -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "") - -set (PACKAGE_NAME "reanimated") -set (BUILD_DIR ${CMAKE_SOURCE_DIR}/build) -set (SRC_DIR ${CMAKE_SOURCE_DIR}/src) -set (COMMON_SRC_DIR "${CMAKE_SOURCE_DIR}/../Common") - -file(GLOB_RECURSE SOURCES_COMMON CONFIGURE_DEPENDS "${COMMON_SRC_DIR}/cpp/**.cpp") -file(GLOB_RECURSE SOURCES_ANDROID CONFIGURE_DEPENDS "${SRC_DIR}/main/cpp/**.cpp") - -# Consume shared libraries and headers from prefabs -find_package(fbjni REQUIRED CONFIG) -find_package(ReactAndroid REQUIRED CONFIG) -if(${JS_RUNTIME} STREQUAL "hermes") - find_package(hermes-engine REQUIRED CONFIG) -endif() - -add_library( - ${PACKAGE_NAME} - SHARED - ${SOURCES_COMMON} - ${SOURCES_ANDROID} - ${INCLUDE_JSI_CPP} - ${INCLUDE_JSIDYNAMIC_CPP} -) - -# includes - -target_include_directories( - ${PACKAGE_NAME} - PRIVATE - "${COMMON_SRC_DIR}/cpp/AnimatedSensor" - "${COMMON_SRC_DIR}/cpp/Fabric" - "${COMMON_SRC_DIR}/cpp/hidden_headers" - "${COMMON_SRC_DIR}/cpp/LayoutAnimations" - "${COMMON_SRC_DIR}/cpp/NativeModules" - "${COMMON_SRC_DIR}/cpp/Tools" - "${COMMON_SRC_DIR}/cpp/Worklets/Registries" - "${COMMON_SRC_DIR}/cpp/Worklets/SharedItems" - "${COMMON_SRC_DIR}/cpp/Worklets/Tools" - "${COMMON_SRC_DIR}/cpp/Worklets/WorkletRuntime" - "${SRC_DIR}/main/cpp" -) - -target_include_directories( - ${PACKAGE_NAME} - PRIVATE - "${REACT_NATIVE_DIR}/ReactAndroid/src/main/jni/react/turbomodule" - "${REACT_NATIVE_DIR}/ReactCommon" - "${REACT_NATIVE_DIR}/ReactCommon/callinvoker" - "${REACT_NATIVE_DIR}/ReactCommon/react/renderer/graphics/platform/cxx" - "${REACT_NATIVE_DIR}/ReactCommon/runtimeexecutor" - "${REACT_NATIVE_DIR}/ReactCommon/yoga" - "${REACT_NATIVE_DIR}/ReactCommon/react/renderer/componentregistry" - "${REACT_NATIVE_DIR}/ReactCommon/react/renderer/core" -) - -# build shared lib - -set_target_properties(${PACKAGE_NAME} PROPERTIES LINKER_LANGUAGE CXX) - -target_link_libraries( - ${PACKAGE_NAME} - log - android -) - -target_link_libraries( - ${PACKAGE_NAME} - ReactAndroid::folly_runtime - ReactAndroid::glog - ReactAndroid::jsi - ReactAndroid::reactnativejni - fbjni::fbjni -) - if(${JS_RUNTIME} STREQUAL "hermes") string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_HERMES=1") - # From prefab from module `com.facebook.react:hermes-android` - set(HERMES_LIB hermes-engine::libhermes) - target_link_libraries( - ${PACKAGE_NAME} - ${HERMES_LIB} - ) - if (${HERMES_ENABLE_DEBUGGER}) - set(HERMES_EXECUTOR_LIB ReactAndroid::hermes_executor) - target_link_libraries( - ${PACKAGE_NAME} - ${HERMES_EXECUTOR_LIB} - ) - endif() -elseif(${JS_RUNTIME} STREQUAL "v8") - string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_V8=1") - target_include_directories( - ${PACKAGE_NAME} - PRIVATE - "${JS_RUNTIME_DIR}/src" - ) - file (GLOB V8_SO_DIR "${JS_RUNTIME_DIR}/android/build/intermediates/library_jni/*/jni/${ANDROID_ABI}") - find_library( - V8EXECUTOR_LIB - v8executor - PATHS ${V8_SO_DIR} - NO_DEFAULT_PATH - NO_CMAKE_FIND_ROOT_PATH - ) - target_link_libraries( - ${PACKAGE_NAME} - ${V8EXECUTOR_LIB} - ) elseif(${JS_RUNTIME} STREQUAL "jsc") string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_JSC=1") - set(JSEXECUTOR_LIB ReactAndroid::jscexecutor) - target_link_libraries(${PACKAGE_NAME} ${JSEXECUTOR_LIB}) +elseif(${JS_RUNTIME} STREQUAL "v8") + string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_V8=1") else() message(FATAL_ERROR "Unknown JS runtime ${JS_RUNTIME}.") endif() -if(${IS_NEW_ARCHITECTURE_ENABLED}) - target_link_libraries( - ${PACKAGE_NAME} - ReactAndroid::fabricjni - ReactAndroid::react_debug - ReactAndroid::react_render_core - ReactAndroid::react_render_mounting - ReactAndroid::react_render_componentregistry - ReactAndroid::react_render_scheduler - ReactAndroid::react_render_uimanager - ReactAndroid::rrc_view - ) -endif() +# Resolves "CMake Warning: Manually-specified variables were not used by the +# project" when any of the following variables is not used in some build +# configuration. +set(ignoreMe "${JS_RUNTIME_DIR}") + +set(BUILD_DIR "${CMAKE_SOURCE_DIR}/build") +set(ANDROID_SRC_DIR "${CMAKE_SOURCE_DIR}/src") +set(WORKLETS_COMMON_DIR "${CMAKE_SOURCE_DIR}/../Common/cpp/worklets") +set(REANIMATED_COMMON_DIR "${CMAKE_SOURCE_DIR}/../Common/cpp/reanimated") -# Resolves "CMake Warning: Manually-specified variables were not used by the project" -# when any of the following variables is not used in some build configuration. -set (ignoreMe "${JS_RUNTIME_DIR}") +add_subdirectory(${CMAKE_SOURCE_DIR}/src/main/worklets) +add_subdirectory(${CMAKE_SOURCE_DIR}/src/main/reanimated) diff --git a/packages/react-native-reanimated/android/src/main/reanimated/CMakeLists.txt b/packages/react-native-reanimated/android/src/main/reanimated/CMakeLists.txt new file mode 100644 index 000000000000..7a854d174416 --- /dev/null +++ b/packages/react-native-reanimated/android/src/main/reanimated/CMakeLists.txt @@ -0,0 +1,57 @@ +cmake_minimum_required(VERSION 3.8) + +file(GLOB_RECURSE REANIMATED_COMMON_SOURCES CONFIGURE_DEPENDS "${REANIMATED_COMMON_DIR}/*.cpp") +file(GLOB_RECURSE SOURCES_ANDROID CONFIGURE_DEPENDS "${ANDROID_SRC_DIR}/main/cpp/*.cpp") + +add_library( + reanimated + SHARED + ${REANIMATED_COMMON_SOURCES} + ${SOURCES_ANDROID} +) + +target_include_directories( + reanimated + PRIVATE + "${REANIMATED_COMMON_DIR}/AnimatedSensor" + "${REANIMATED_COMMON_DIR}/Fabric" + "${REANIMATED_COMMON_DIR}/LayoutAnimations" + "${REANIMATED_COMMON_DIR}/NativeModules" + "${REANIMATED_COMMON_DIR}/Tools" +) + +target_include_directories( + reanimated + PRIVATE + "${ANDROID_SRC_DIR}/main/cpp" +) + +target_include_directories( + reanimated + PRIVATE + "${REACT_NATIVE_DIR}/ReactCommon" + "${REACT_NATIVE_DIR}/ReactAndroid/src/main/jni/react/turbomodule" + "${REACT_NATIVE_DIR}/ReactCommon/callinvoker" + "${REACT_NATIVE_DIR}/ReactCommon/runtimeexecutor" +) + +if(${IS_NEW_ARCHITECTURE_ENABLED}) + target_include_directories( + reanimated + PRIVATE + "${REACT_NATIVE_DIR}/ReactCommon/yoga" + "${REACT_NATIVE_DIR}/ReactCommon/react/renderer/graphics/platform/cxx" + ) +endif() + +set_target_properties( + reanimated + PROPERTIES + LINKER_LANGUAGE + CXX +) + +target_link_libraries( + reanimated + worklets +) diff --git a/packages/react-native-reanimated/android/src/main/worklets/CMakeLists.txt b/packages/react-native-reanimated/android/src/main/worklets/CMakeLists.txt new file mode 100644 index 000000000000..8a0fab2f648b --- /dev/null +++ b/packages/react-native-reanimated/android/src/main/worklets/CMakeLists.txt @@ -0,0 +1,127 @@ +cmake_minimum_required(VERSION 3.8) + +file(GLOB_RECURSE WORKLETS_COMMON_SOURCES CONFIGURE_DEPENDS "${WORKLETS_COMMON_DIR}/*.cpp") + +# Consume shared libraries and headers from prefabs +find_package(fbjni REQUIRED CONFIG) +find_package(ReactAndroid REQUIRED CONFIG) + +if(${JS_RUNTIME} STREQUAL "hermes") + find_package(hermes-engine REQUIRED CONFIG) +endif() + +add_library( + worklets + SHARED + ${WORKLETS_COMMON_SOURCES} + "${ANDROID_SRC_DIR}/main/cpp/AndroidLogger.cpp" +) + +# includes +target_include_directories( + worklets + PUBLIC + "${WORKLETS_COMMON_DIR}/hidden_headers" + "${WORKLETS_COMMON_DIR}/Registries" + "${WORKLETS_COMMON_DIR}/SharedItems" + "${WORKLETS_COMMON_DIR}/Tools" + "${WORKLETS_COMMON_DIR}/WorkletRuntime" +) + +target_include_directories( + worklets + PRIVATE + "${ANDROID_SRC_DIR}/main/cpp" +) + +target_include_directories( + worklets + PRIVATE + "${REANIMATED_COMMON_DIR}/NativeModules" + "${REANIMATED_COMMON_DIR}/AnimatedSensor" + "${REANIMATED_COMMON_DIR}/Fabric" + "${REANIMATED_COMMON_DIR}/LayoutAnimations" + "${REANIMATED_COMMON_DIR}/Tools" +) + +target_include_directories( + worklets + PRIVATE + "${REACT_NATIVE_DIR}/ReactCommon" + "${REACT_NATIVE_DIR}/ReactCommon/callinvoker" + "${REACT_NATIVE_DIR}/ReactCommon/runtimeexecutor" +) + +if(${IS_NEW_ARCHITECTURE_ENABLED}) + target_include_directories( + worklets + PRIVATE + "${REACT_NATIVE_DIR}/ReactCommon/yoga" + "${REACT_NATIVE_DIR}/ReactCommon/react/renderer/graphics/platform/cxx" + ) + + target_link_libraries( + worklets + ReactAndroid::fabricjni + ReactAndroid::react_debug + ReactAndroid::react_render_core + ReactAndroid::react_render_componentregistry + ReactAndroid::rrc_view + ) +endif() + +# build shared lib +set_target_properties( + worklets + PROPERTIES + LINKER_LANGUAGE + CXX +) + +target_link_libraries( + worklets + log + ReactAndroid::folly_runtime + ReactAndroid::glog + ReactAndroid::jsi + ReactAndroid::reactnativejni + fbjni::fbjni +) + +if(${JS_RUNTIME} STREQUAL "hermes") + target_link_libraries( + worklets + hermes-engine::libhermes + ) + + if(${HERMES_ENABLE_DEBUGGER}) + target_link_libraries( + worklets + ReactAndroid::hermes_executor + ) + endif() +elseif(${JS_RUNTIME} STREQUAL "jsc") + target_link_libraries( + worklets + ReactAndroid::jscexecutor + ) +elseif(${JS_RUNTIME} STREQUAL "v8") + # TODO: Refactor this when adding support for newest V8 + target_include_directories( + worklets + PRIVATE + "${JS_RUNTIME_DIR}/src" + ) + file(GLOB V8_SO_DIR "${JS_RUNTIME_DIR}/android/build/intermediates/library_jni/*/jni/${ANDROID_ABI}") + find_library( + V8EXECUTOR_LIB + v8executor + PATHS ${V8_SO_DIR} + NO_DEFAULT_PATH + NO_CMAKE_FIND_ROOT_PATH + ) + target_link_libraries( + worklets + ${V8EXECUTOR_LIB} + ) +endif()