Package com.facebook.buck.cxx
Interface CxxLibraryDescription.CommonArg
-
- All Superinterfaces:
BuildRuleArg
,ConstructorArg
,CxxConstructorArg
,DataTransferObject
,HasDeclaredDeps
,HasDefaultFlavors
,HasDefaultPlatform
,HasSystemFrameworkAndLibraries
,HasTests
,LinkableCxxConstructorArg
- All Known Subinterfaces:
AppleNativeTargetDescriptionArg
- All Known Implementing Classes:
AppleBinaryDescriptionArg
,AppleLibraryDescriptionArg
,AppleTestDescriptionArg
,CxxLibraryDescriptionArg
- Enclosing class:
- CxxLibraryDescription
public static interface CxxLibraryDescription.CommonArg extends LinkableCxxConstructorArg
-
-
Field Summary
-
Fields inherited from interface com.facebook.buck.core.description.arg.BuildRuleArg
DEFAULT_TARGET_PLATFORM_PARAM_NAME
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
checkHeadersUsage()
Optional<SourcePath>
getBridgingHeader()
These fields are passed through to SwiftLibrary for mixed C/Swift targets; they are not used otherwise.Optional<Boolean>
getCanBeAsset()
default CxxDeps
getCxxDeps()
Override parent class's deps to include exported deps.default CxxDeps
getExportedCxxDeps()
com.google.common.collect.ImmutableSortedSet<BuildTarget>
getExportedDeps()
default SourceSortedSet
getExportedHeaders()
default CxxPreprocessables.IncludeType
getExportedHeaderStyle()
com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>>
getExportedLangPlatformPreprocessorFlags()
com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>>
getExportedLangPreprocessorFlags()
com.google.common.collect.ImmutableList<StringWithMacros>
getExportedLinkerFlags()
default PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<BuildTarget>>
getExportedPlatformDeps()
default PatternMatchedCollection<SourceSortedSet>
getExportedPlatformHeaders()
default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>
getExportedPlatformLinkerFlags()
default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>
getExportedPlatformPreprocessorFlags()
com.google.common.collect.ImmutableList<StringWithMacros>
getExportedPostLinkerFlags()
default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>
getExportedPostPlatformLinkerFlags()
com.google.common.collect.ImmutableList<StringWithMacros>
getExportedPreprocessorFlags()
com.google.common.collect.ImmutableList<SourcePath>
getExtraXcodeFiles()
extra_xcode_sources will add the files to the list of files in the project and won't add them to an Xcode target.com.google.common.collect.ImmutableList<SourcePath>
getExtraXcodeSources()
extra_xcode_sources will add the files to the list of files to be compiled in the Xcode target.Optional<Boolean>
getForceStatic()
Optional<Boolean>
getLinkWhole()
Optional<String>
getModuleName()
Optional<NativeLinkableGroup.Linkage>
getPreferredLinkage()
default com.google.common.collect.ImmutableSortedSet<String>
getPublicIncludeDirectories()
A list of include directories to be added to the compile command for compiling this cxx target and every target that depends on it.default com.google.common.collect.ImmutableSortedSet<String>
getPublicSystemIncludeDirectories()
A list of include directories to be added to the compile command for compiling this cxx target and every target that depends on it.Optional<String>
getSoname()
Optional<String>
getStaticLibraryBasename()
Optional<Pattern>
getSupportedPlatformsRegex()
Optional<Boolean>
getSupportsMergedLinking()
Optional<Boolean>
getXcodePrivateHeadersSymlinks()
Optional<Boolean>
getXcodePublicHeadersSymlinks()
Optional<Boolean>
isReexportAllHeaderDependencies()
Controls whether the headers of dependencies in "deps" is re-exported for compiling targets that depend on this one.-
Methods inherited from interface com.facebook.buck.core.description.arg.BuildRuleArg
getCompatibleWith, getDefaultTargetPlatform, getLabels, getLicenses, labelsContainsAnyOf
-
Methods inherited from interface com.facebook.buck.core.description.arg.ConstructorArg
getName
-
Methods inherited from interface com.facebook.buck.cxx.CxxConstructorArg
checkDuplicateSources, getCompilerFlags, getCxxRuntimeType, getDefaultFlavors, getDefaults, getExecutableName, getHeaderNamespace, getHeaders, getIncludeDirectories, getLangCompilerFlags, getLangPlatformCompilerFlags, getLangPlatformPreprocessorFlags, getLangPreprocessorFlags, getLinkerExtraOutputs, getLinkerFlags, getPlatformCompilerFlags, getPlatformDeps, getPlatformHeaders, getPlatformLinkerFlags, getPlatformPreprocessorFlags, getPlatformSrcs, getPostLinkerFlags, getPostPlatformLinkerFlags, getPrecompiledHeader, getPrefixHeader, getPreprocessorFlags, getPrivateCxxDeps, getRawHeaders, getSrcs
-
Methods inherited from interface com.facebook.buck.core.description.arg.HasDeclaredDeps
getDeps
-
Methods inherited from interface com.facebook.buck.core.description.arg.HasDefaultPlatform
getDefaultPlatform
-
Methods inherited from interface com.facebook.buck.cxx.toolchain.HasSystemFrameworkAndLibraries
getFrameworks, getLibraries
-
Methods inherited from interface com.facebook.buck.cxx.LinkableCxxConstructorArg
getFatLto, getLinkGroup, getLinkGroupMap, getLinkStyle, getThinLto
-
-
-
-
Method Detail
-
getExportedHeaders
@Default default SourceSortedSet getExportedHeaders()
-
checkHeadersUsage
@Check default void checkHeadersUsage()
- Specified by:
checkHeadersUsage
in interfaceCxxConstructorArg
-
getExportedPlatformHeaders
@Default default PatternMatchedCollection<SourceSortedSet> getExportedPlatformHeaders()
-
getExportedPreprocessorFlags
com.google.common.collect.ImmutableList<StringWithMacros> getExportedPreprocessorFlags()
-
getExportedPlatformPreprocessorFlags
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> getExportedPlatformPreprocessorFlags()
-
getExportedLangPreprocessorFlags
com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>> getExportedLangPreprocessorFlags()
-
getExportedLangPlatformPreprocessorFlags
com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>> getExportedLangPlatformPreprocessorFlags()
-
getExportedLinkerFlags
com.google.common.collect.ImmutableList<StringWithMacros> getExportedLinkerFlags()
-
getExportedPostLinkerFlags
com.google.common.collect.ImmutableList<StringWithMacros> getExportedPostLinkerFlags()
-
getExportedPlatformLinkerFlags
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> getExportedPlatformLinkerFlags()
-
getExportedPostPlatformLinkerFlags
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> getExportedPostPlatformLinkerFlags()
-
getExportedDeps
@NaturalOrder com.google.common.collect.ImmutableSortedSet<BuildTarget> getExportedDeps()
-
getExportedPlatformDeps
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<BuildTarget>> getExportedPlatformDeps()
-
getPreferredLinkage
Optional<NativeLinkableGroup.Linkage> getPreferredLinkage()
-
getExtraXcodeSources
com.google.common.collect.ImmutableList<SourcePath> getExtraXcodeSources()
extra_xcode_sources will add the files to the list of files to be compiled in the Xcode target.
-
getExtraXcodeFiles
com.google.common.collect.ImmutableList<SourcePath> getExtraXcodeFiles()
extra_xcode_sources will add the files to the list of files in the project and won't add them to an Xcode target.
-
isReexportAllHeaderDependencies
Optional<Boolean> isReexportAllHeaderDependencies()
Controls whether the headers of dependencies in "deps" is re-exported for compiling targets that depend on this one.
-
getBridgingHeader
Optional<SourcePath> getBridgingHeader()
These fields are passed through to SwiftLibrary for mixed C/Swift targets; they are not used otherwise.
-
getPublicIncludeDirectories
@Default default com.google.common.collect.ImmutableSortedSet<String> getPublicIncludeDirectories()
A list of include directories to be added to the compile command for compiling this cxx target and every target that depends on it.- Returns:
- a list of public (exported) include paths for this cxx target.
-
getPublicSystemIncludeDirectories
@Default default com.google.common.collect.ImmutableSortedSet<String> getPublicSystemIncludeDirectories()
A list of include directories to be added to the compile command for compiling this cxx target and every target that depends on it.- Returns:
- a list of public (exported) include paths for this cxx target.
-
getExportedCxxDeps
@Derived default CxxDeps getExportedCxxDeps()
- Returns:
- C/C++ deps which are propagated to dependents.
-
getCxxDeps
@Derived default CxxDeps getCxxDeps()
Override parent class's deps to include exported deps.- Specified by:
getCxxDeps
in interfaceCxxConstructorArg
- Returns:
- the C/C++ deps this rule builds against.
-
getExportedHeaderStyle
@Default default CxxPreprocessables.IncludeType getExportedHeaderStyle()
- Returns:
- how exported headers from this rule should be included by dependents.
-
-