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,