[Inquire] .cake vs .targets #12
-
|
Hi @AdamEssenmacher, First of all, tyvm for your work!! I've an inquire related to how the .xcframeworks are being included. Was trying to understand how the deps are figured out when things get build, and noticed that we have:
but then there is also:
and I also noticed that the cake is v19 while targets is v17. Who is priority in the build order? is *.target being used only when building outside of cake? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
|
The .cake toolchain is used to download most .xcframeworks, build the .NET binding libraries, and pack the nugets. The .target files are packed into the nugets to be consumed by MSBuild in dependent projects (e.g. 'YourMauiApp.csproj'). The .targets files tell MSBuild where to find the native libraries (the xcframeworks) and which framework/linker flags to use. Most xcframeworks are packed directly into the nugets as resources. However, in some cases (notably in Firebase, Analytics, and GoogleAppMeasurement), the xcframeworks are downloaded directly from Google during the build. This is because these are shipped as You can also note that the 10.19 podspec linked above references the 10.17 binary. This is because FirebaseAnalytics hasn't changed since 10.17, so the source binary is re-used. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.

The .cake toolchain is used to download most .xcframeworks, build the .NET binding libraries, and pack the nugets.
The .target files are packed into the nugets to be consumed by MSBuild in dependent projects (e.g. 'YourMauiApp.csproj'). The .targets files tell MSBuild where to find the native libraries (the xcframeworks) and which framework/linker flags to use.
Most xcframeworks are packed directly into the nugets as resources. However, in some cases (notably in Firebase, Analytics, and GoogleAppMeasurement), the xcframeworks are downloaded directly from Google during the build. This is because these are shipped as
vendored_frameworks(i.e. prebuilt binaries), as you can see in the Fireba…