From 8cdb20568def11751bfb694ae5300f91a7838239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=A6n=20Hansen?= Date: Fri, 17 Oct 2025 23:16:16 +0200 Subject: [PATCH] Filter CMake targets by target name when passed --- .changeset/cold-showers-arrive.md | 5 +++++ packages/cmake-rn/src/platforms/android.ts | 9 +++++++-- packages/cmake-rn/src/platforms/apple.ts | 6 ++++-- 3 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 .changeset/cold-showers-arrive.md diff --git a/.changeset/cold-showers-arrive.md b/.changeset/cold-showers-arrive.md new file mode 100644 index 00000000..de063bcb --- /dev/null +++ b/.changeset/cold-showers-arrive.md @@ -0,0 +1,5 @@ +--- +"cmake-rn": patch +--- + +Filter CMake targets by target name when passed diff --git a/packages/cmake-rn/src/platforms/android.ts b/packages/cmake-rn/src/platforms/android.ts index 655c1d7b..dbf9d887 100644 --- a/packages/cmake-rn/src/platforms/android.ts +++ b/packages/cmake-rn/src/platforms/android.ts @@ -121,7 +121,10 @@ export const platform: Platform = { const { ANDROID_HOME } = process.env; return typeof ANDROID_HOME === "string" && fs.existsSync(ANDROID_HOME); }, - async postBuild({ outputPath, triplets }, { autoLink, configuration }) { + async postBuild( + { outputPath, triplets }, + { autoLink, configuration, target }, + ) { const prebuilds: Record< string, { triplet: Triplet; libraryPath: string }[] @@ -135,7 +138,9 @@ export const platform: Platform = { "2.0", ); const sharedLibraries = targets.filter( - (target) => target.type === "SHARED_LIBRARY", + ({ type, name }) => + type === "SHARED_LIBRARY" && + (target.length === 0 || target.includes(name)), ); assert.equal( sharedLibraries.length, diff --git a/packages/cmake-rn/src/platforms/apple.ts b/packages/cmake-rn/src/platforms/apple.ts index c93d3d92..849ccfe5 100644 --- a/packages/cmake-rn/src/platforms/apple.ts +++ b/packages/cmake-rn/src/platforms/apple.ts @@ -133,7 +133,7 @@ export const platform: Platform = { }, async postBuild( { outputPath, triplets }, - { configuration, autoLink, xcframeworkExtension }, + { configuration, autoLink, xcframeworkExtension, target }, ) { const prebuilds: Record = {}; for (const { buildPath } of triplets) { @@ -144,7 +144,9 @@ export const platform: Platform = { "2.0", ); const sharedLibraries = targets.filter( - (target) => target.type === "SHARED_LIBRARY", + ({ type, name }) => + type === "SHARED_LIBRARY" && + (target.length === 0 || target.includes(name)), ); assert.equal( sharedLibraries.length,