Struct cmake_file_api::objects::codemodel_v2::directory::Installer
source · #[non_exhaustive]pub struct Installer {Show 21 fields
pub component: String,
pub destination: Option<String>,
pub paths: Vec<InstallPath>,
pub installer_type: String,
pub is_exclude_from_all: bool,
pub is_for_all_components: bool,
pub is_optional: bool,
pub target_id: Option<String>,
pub target_index: Option<usize>,
pub target_is_import_library: bool,
pub target_install_namelink: Option<String>,
pub export_name: Option<String>,
pub export_targets: Vec<TargetIdAndIndex>,
pub runtime_dependency_set_name: Option<String>,
pub runtime_dependency_set_type: Option<String>,
pub file_set_name: Option<String>,
pub file_set_type: Option<String>,
pub file_set_directories: Vec<String>,
pub file_set_target: Option<TargetIdAndIndex>,
pub script_file: Option<PathBuf>,
pub backtrace: Option<usize>,
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.component: String
A string specifying the component selected by the corresponding to install() command invocation.
destination: Option<String>
Optional member that is present for specific type values below. The value is a string specifying the installation destination path. The path may be absolute or relative to the installation prefix.
paths: Vec<InstallPath>
Optional member that is present for specific installer_type values below.
installer_type: String
A string specifying the type of installation rule. The value is one of the following, with some variants providing additional members:
- file: An install(FILES) or install(PROGRAMS) call. The destination and paths members are populated, with paths under the top-level source directory expressed relative to it. The isOptional member may exist. This type has no additional members.
- directory: An install(DIRECTORY) call. The destination and paths members are populated, with paths under the top-level source directory expressed relative to it. The isOptional member may exist. This type has no additional members.
- target: An install(TARGETS) call. The destination and paths members are populated, with paths under the top-level build directory expressed relative to it. The isOptional member may exist. This type has additional members targetId, targetIndex, targetIsImportLibrary, and targetInstallNamelink.
- export: An install(EXPORT) call. The destination and paths members are populated, with paths under the top-level build directory expressed relative to it. The paths entries refer to files generated automatically by CMake for installation, and their actual values are considered private implementation details. This type has additional members exportName and exportTargets.
- script: An install(SCRIPT) call. This type has additional member scriptFile.
- code: An install(CODE) call. This type has no additional members.
- importedRuntimeArtifacts: An install(IMPORTED_RUNTIME_ARTIFACTS) call. The destination member is populated. The isOptional member may exist. This type has no additional members.
- runtimeDependencySet: An install(RUNTIME_DEPENDENCY_SET) call or an install(TARGETS) call with RUNTIME_DEPENDENCIES. The destination member is populated. This type has additional members runtimeDependencySetName and runtimeDependencySetType.
- fileSet: An install(TARGETS) call with FILE_SET. The destination and paths members are populated. The isOptional member may exist. This type has additional members fileSetName, fileSetType, fileSetDirectories, and fileSetTarget. This type was added in codemodel version 2.4.
is_exclude_from_all: bool
True when install() is called with the EXCLUDE_FROM_ALL option.
is_for_all_components: bool
True when install(SCRIPT|CODE) is called with the ALL_COMPONENTS option.
is_optional: bool
True when install() is called with the OPTIONAL option. This is allowed when type is file, directory, or target.
target_id: Option<String>
Optional member that is present when type is target. The value is a string uniquely identifying the target to be installed. This matches the id member of the target in the main “codemodel” object’s targets array.
target_index: Option<usize>
Optional member that is present when type is target. The value is an unsigned integer 0-based index into the main “codemodel” object’s targets array for the target to be installed.
target_is_import_library: bool
True when type is target and the installer is for a Windows DLL import library file or for an AIX linker import file.
target_install_namelink: Option<String>
Optional member that is present when type is target and the installer corresponds to a target that may use symbolic links to implement the VERSION and SOVERSION target properties. The value is a string indicating how the installer is supposed to handle the symlinks: skip means the installer should skip the symlinks and install only the real file only means the installer should install only the symlinks and not the real file. In all cases the paths member lists what it actually installs.
export_name: Option<String>
Optional member that is present when type is export. The value is a string specifying the name of the export.
export_targets: Vec<TargetIdAndIndex>
Optional member that is present when type equals export.
runtime_dependency_set_name: Option<String>
Optional member that is present when type is runtimeDependencySet and the installer was created by an install(RUNTIME_DEPENDENCY_SET) call. The value is a string specifying the name of the runtime dependency set that was installed.
runtime_dependency_set_type: Option<String>
Optional member that is present when type is runtimeDependencySet. The value is a string with one of the following values:
- library: Indicates that this installer installs dependencies that are not macOS frameworks.
- framework: Indicates that this installer installs dependencies that are macOS frameworks.
file_set_name: Option<String>
Optional member that is present when type is fileSet. The value is a string with the name of the file set. This field was added in codemodel version 2.4.
file_set_type: Option<String>
Optional member that is present when type is fileSet. The value is a string with the type of the file set. This field was added in codemodel version 2.4.
file_set_directories: Vec<String>
Optional member that is present when type is fileSet.
The value is a list of strings with the file set’s base directories (determined by genex-evaluation of HEADER_DIRS or HEADER_DIRS_<NAME>
).
This field was added in codemodel version 2.4.
file_set_target: Option<TargetIdAndIndex>
Optional member that is present when type is fileSet. This field was added in codemodel version 2.4.
script_file: Option<PathBuf>
Optional member that is present when type is script. The value is a string specifying the path to the script file on disk, represented with forward slashes. If the file is inside the top-level source directory then the path is specified relative to that directory. Otherwise, the path is absolute.
backtrace: Option<usize>
Optional member that is present when a CMake language backtrace to the install() or other command invocation that added this installer is available. The value is an unsigned integer 0-based index into the backtraceGraph member’s nodes array.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Installer
impl<'de> Deserialize<'de> for Installer
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl StructuralPartialEq for Installer
Auto Trait Implementations§
impl Freeze for Installer
impl RefUnwindSafe for Installer
impl Send for Installer
impl Sync for Installer
impl Unpin for Installer
impl UnwindSafe for Installer
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)