saker.msvc Documentation TaskDoc JavaDoc Packages
Options configuration to be used with saker.msvc.clink(). The described options will be merged with the linker input configuration based on the option qualifiers. The Identifier and Architecture fields are considered to be used as qualifiers for the option merging, in which case they are tested for mergeability with the input configuration.
Summary
Fields
ArchitectureSpecifies the Architecture to which the options should be merged into.
BinaryNameSpecifies the file name of the link product without the extension.
GenerateWinmdSets if Windows Metadata (.winmd) should be generated as part of the linking process.
IdentifierSpecifies the Identifier to which the options should be merged into.
LibraryPathSpecifies the library path that will be searched for libraries.
LinkerInputSpecifies one or more inputs for the link operation.
SDKsSpecifies the SDKs (Software Development Kits) used by the task.
SimpleLinkerParametersSpecifies one or more arguments that should be directly passed to the linker backend (link.exe).
Fields
Specifies the Architecture to which the options should be merged into. The associated options will only be merged into the target configuration if the target Architecture is the same as the Architecture defined in this options. If no Architecture is specified for this options, the Architecture is not considered as a qualifier.
Specifies the file name of the link product without the extension. The specified string will be used as the name part of the generated executable or library. The extension is determined automatically. If not specified, the file name will be generated based on the compilation Identifier.
Sets if Windows Metadata (.winmd) should be generated as part of the linking process. If set to true, this option causes the /WINMD flag to be passed for the linker. Windows Metadata file will be generated alongside the output product. Setting the option to false will cause /WINMD:NO flag to be passed to the linker.
Specifies the Identifier to which the options should be merged into. The associated options will only be merged into the target configuration if the target Identifier contains all parts as this Identifier. If no Identifier specified for this options, the Identifier is not considered as a qualifier.
Specifies the library path that will be searched for libraries. The values may be simple paths, wildcards, file locations, file collections, or SDK paths. The link task doesn't specify any library paths by default. Corresponds to the /LIBPATH command line option for link.exe.
Specifies one or more inputs for the link operation. The inputs may be either simple paths, wildcards, file locations, file collections or task output from saker.msvc.ccompile().
Specifies the SDKs (Software Development Kits) used by the task. SDKs represent development kits that are available in the build environment and to the task. SDKs are used to determine the appropriate build environment to execute the task, as well to resolve paths against them (e.g. IncludeDirectory, LibraryPath). The "MSVC" SDK is used to determine the location of the backend executables (cl.exe, link.exe). If it is not specified, then the task will attempt to determine it automatically. When merging, duplicate SDK definitions are not overwritten.
Specifies one or more arguments that should be directly passed to the linker backend (link.exe). Any arguments specified will be appended to the link.exe invocation for the inputs. Take care when using this option as specifying files here may result in incorrect incremental builds. The order of the specified arguments are kept. When merging, duplicate parameters are removed automatically.