saker.apple Documentation TaskDoc JavaDoc Packages
Create a configuration for compiling and creating applications for various Apple platforms. The result of this task can be passed to the saker.clang.compile() and saker.clang.link() tasks for their CompilerOptions and LinkerOptions parameters to configure them appropriately to create applications for the specified platforms. The InfoPlistValues field of the result can be used to fill the required plist values for your application.
Summary
Parameters
AddRPathSets whether or not the -rpath parameter should be added for the clang linker.
ArchitectureSpecifies the target architecture for the compilation.
AutomaticReferenceCountingSets whether or not automatic reference counting should be used.
DeviceFamilySpecifies the device families that the app is expected to run on.
FrameworksSpecifies frameworks that the application uses.
IdentifierCompilation identifier that specifies for which compilations this preset can be applied to.
LibrariesSpecifies libraries that should be linked with the application.
PlatformSpecifies the development target platform.
PlatformMinVersionSpecifies the minimum platform version that the application requires.
ReleaseSpecifies the kind of optimization related configuration that should be used.
SDKsSpecifies the SDKs (Software Development Kits) that are part of the configuration.
Parameters
Sets whether or not the -rpath parameter should be added for the clang linker. If set to true, the -rpath argument is passed to the backend linker with an approriate value for thespecified platform. The default is true.
Specifies the target architecture for the compilation. The value of this parameter will be added as a clang argument for the -arch option. If not specified, a default one is inferred based on the Platform. If set to null, no architecture based configuration is added.
Sets whether or not automatic reference counting should be used. If set to true, -fobjc-arc argument is added to clang. The default is true.
Specifies the device families that the app is expected to run on. This parameter will cause an appropriate UIDeviceFamily value be inserted in the Info.plist file of your application. By default, the value of this is inferred based on the target Platform. You can set this parameter to null to disable the default values. Generally this parameter is used to add or set iPad as the device family when targetting the iPhoneOS platform.
Collection of String
Specifies frameworks that the application uses. The given frameworks are added to the clang linking phase as the -framework <NAME> argument.
Compilation identifier that specifies for which compilations this preset can be applied to.
Collection of String
Specifies libraries that should be linked with the application. The given libraries are added to the clang linking phase as the -l<LIB> argument.
Specifies the development target platform. The target platform determines some of the clang parameters as well as various values that are to be present in the Info.plist file for the application. A default SDK will also be added based on the platform (if not already present).
Specifies the minimum platform version that the application requires. The minimum version causes the appropriate -m<PLATFORM>-version-min parameter to be added to the clang arguments, as well as adds requirements for the application Info.plist.
Specifies the kind of optimization related configuration that should be used. If this parameter is set to true, the configuration will use options for release optimization. Otherwise it is configured for debugging. If set to null, no optimization related options are used. The default is false.
Specifies the SDKs (Software Development Kits) that are part of the configuration. The SDKs will be passed to the clang task, and also available with the SDKs field of the result. Appropriate SDKs for the given Platform, clang, and developer macOS will be added by default.