From 2da062f9d19196c338191cbc85c2e893a82f4107 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Wed, 9 Apr 2025 03:22:00 -0700 Subject: [PATCH] Enable INTERPROCEDURAL_OPTIMIZATION for libappmodules.so in OSS (#50580) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50580 This follow ups to us enabling INTERPROCEDURAL_OPTIMIZATION to libreactnative.so and enables INTERPROCEDURAL_OPTIMIZATION for the app module as well. Changelog: [Android] [Changed] - Enable INTERPROCEDURAL_OPTIMIZATION for libappmodules.so in OSS Reviewed By: rshest Differential Revision: D72696658 fbshipit-source-id: ec07c7df9a639b5c3df8923ec384db90a78463e9 --- .../ReactAndroid/cmake-utils/ReactNative-application.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake b/packages/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake index 407a7f67181..d6881a5fee7 100644 --- a/packages/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake +++ b/packages/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake @@ -31,6 +31,13 @@ if(CCACHE_FOUND) set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) endif(CCACHE_FOUND) +# If the user toolchain supports IPO, we enable it for the app build +include(CheckIPOSupported) +check_ipo_supported(RESULT IPO_SUPPORT) +if (IPO_SUPPORT) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) +endif() + set(BUILD_DIR ${PROJECT_BUILD_DIR}) file(TO_CMAKE_PATH "${BUILD_DIR}" BUILD_DIR) file(TO_CMAKE_PATH "${REACT_ANDROID_DIR}" REACT_ANDROID_DIR)