# CppSharedLibrary

interface CppSharedLibrary : CppBinary, ComponentWithSharedLibrary, ComponentWithLinkUsage, ComponentWithRuntimeUsage, ComponentWithOutputs, PublishableComponent(source)

A shared library built from C++ source.

#### Since

4.2

## Properties

DEBUGGABLE_ATTRIBUTE
Link copied to clipboard
val DEBUGGABLE_ATTRIBUTE: Attribute<Boolean>
The dependency resolution attribute use to indicate whether a binary is debuggable or not.
LINKAGE_ATTRIBUTE
Link copied to clipboard
val LINKAGE_ATTRIBUTE: Attribute<Linkage>
The dependency resolution attribute use to indicate which linkage a binary uses.
OPTIMIZED_ATTRIBUTE
Link copied to clipboard
val OPTIMIZED_ATTRIBUTE: Attribute<Boolean>
The dependency resolution attribute use to indicate whether a binary is optimized or not.

## Functions

getBaseName
Link copied to clipboard
abstract fun getBaseName(): Provider<String>
Returns the base name of this component.
getCompileIncludePath
Link copied to clipboard
abstract fun getCompileIncludePath(): FileCollection
Returns the header directories to use to compile this binary.
getCompileTask
Link copied to clipboard
abstract fun getCompileTask(): Provider<CppCompile>
Returns the compile task for this binary.
getCoordinates
Link copied to clipboard
abstract fun getCoordinates(): ModuleVersionIdentifier
The publication coordinates for this component.
getCppSource
Link copied to clipboard
abstract fun getCppSource(): FileCollection
Returns the C++ source files of this binary.
getDependencies
Link copied to clipboard
abstract fun getDependencies(): ComponentDependencies
Returns the dependencies of this component.
getLinkElements
Link copied to clipboard
abstract fun getLinkElements(): Provider<Configuration>
Returns the outgoing link elements of this component.
getLinkFile
Link copied to clipboard
abstract fun getLinkFile(): Provider<RegularFile>
Returns the link file of this component.
getLinkFileProducer
Link copied to clipboard
abstract fun getLinkFileProducer(): Provider<out Task>
Returns the task that should be run to produce the link file of this component.
getLinkLibraries
Link copied to clipboard
abstract fun getLinkLibraries(): FileCollection
Returns the link libraries to use to link this binary.
getLinkTask
Link copied to clipboard
abstract fun getLinkTask(): Provider<out LinkSharedLibrary>
Returns the link task for the shared library.
getName
Link copied to clipboard
abstract fun getName(): String
The object's name.
getObjects
Link copied to clipboard
abstract fun getObjects(): FileCollection
Returns the object files created for this component.
getOutputs
Link copied to clipboard
abstract fun getOutputs(): FileCollection
Returns the outputs produced for this component.
getRuntimeElements
Link copied to clipboard
abstract fun getRuntimeElements(): Provider<Configuration>
Returns the outgoing runtime elements of this component.
getRuntimeFile
Link copied to clipboard
abstract fun getRuntimeFile(): Provider<RegularFile>
Returns the runtime file of this component.
getRuntimeLibraries
Link copied to clipboard
abstract fun getRuntimeLibraries(): FileCollection
Returns the runtime libraries required by this binary.
getTargetMachine
Link copied to clipboard
abstract fun getTargetMachine(): TargetMachine
Returns the target machine for this component.
getTargetPlatform
Link copied to clipboard
abstract fun getTargetPlatform(): CppPlatform
Returns the target platform for this component.
getToolChain
Link copied to clipboard
abstract fun getToolChain(): NativeToolChain
Returns the tool chain for this component.
isDebuggable
Link copied to clipboard
abstract fun isDebuggable(): Boolean
Returns true if this component has debugging enabled.
isOptimized
Link copied to clipboard
abstract fun isOptimized(): Boolean
Returns true if this component is optimized.