From 67e794ab402db30273348c9fe8dccf42fbc33ffc Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Tue, 12 Sep 2023 08:33:54 -0700 Subject: [PATCH] Fix broken Gradle Sync when opening the project with Android Studio (#39412) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/39412 This fixes an issue that I got reported by users attempting to open the react-native GitHub project in Android Studio. The error is: ``` Cannot specify include directories for target "react_codegen_AppSpecs" which is not built by this project. ``` Changelog: [Internal] [Changed] - Fix broken Gradle Sync when opening the project with Android Studio Reviewed By: huntie Differential Revision: D49189331 fbshipit-source-id: 632063a7e1afc53284231be263bec352dc7057c5 --- .../rn-tester/NativeCxxModuleExample/CMakeLists.txt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt b/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt index ce1fa2d8980..79c30443a34 100644 --- a/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt +++ b/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt @@ -20,10 +20,17 @@ file(GLOB nativecxxmoduleexample_SRC CONFIGURE_DEPENDS *.cpp) add_library(nativecxxmoduleexample STATIC ${nativecxxmoduleexample_SRC}) target_include_directories(nativecxxmoduleexample PUBLIC .) -target_include_directories(react_codegen_AppSpecs PUBLIC .) target_link_libraries(nativecxxmoduleexample fbjni jsi - react_nativemodule_core - react_codegen_AppSpecs) + react_nativemodule_core) + +# 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 ()