INSTALL is an association of professionals from across the entire flooring industry. We are installers, contractors, manufacturers, associations and consultants that share one simple goal: to deliver work we can all take pride in. How do we achieve it? We never stop honing our skills. We never compromise our standards. And we always focus on long-term value.
Career opportunity. Competitive advantage. Superior benefits. INSTALL provides flooring installers the expertise and skills to tackle any challenge and perform only top-quality installations, regardless of flooring type or project complexity. Join the elite ranks of INSTALL's certified installers and flooring professionals today.
The installer can determine the success of a design. INSTALL understands the importance of the spec. We provide our certified flooring installers with the training and expertise to deliver the floor as you designed it. You can trust that the job is done right the first time.
If a relative path is given it is interpreted relative to the valueof the CMAKE_INSTALL_PREFIX variable.The prefix can be relocated at install time using the DESTDIRmechanism explained in the CMAKE_INSTALL_PREFIX variabledocumentation.
As absolute paths are not supported by cpack installergenerators, it is preferable to use relative paths throughout.In particular, there is no need to make paths absolute by prependingCMAKE_INSTALL_PREFIX; this prefix is used by default ifthe DESTINATION is a relative path.
If this option is used multiple times in a single call, its listof permissions accumulates. If an install(TARGETS) calluses arguments, a separate list of permissionsis accumulated for each kind of artifact.
If this option is used multiple times in a single call, its listof configurations accumulates. If an install(TARGETS)call uses arguments, a separate list ofconfigurations is accumulated for each kind of artifact.
Specify an installation component name with which the install ruleis associated, such as Runtime or Development. Duringcomponent-specific installation only install rules associated withthe given component name will be executed. During a full installationall components are installed unless marked with EXCLUDE_FROM_ALL.If COMPONENT is not provided a default component "Unspecified" iscreated. The default component name may be controlled with theCMAKE_INSTALL_DEFAULT_COMPONENT_NAME variable.
New in version 3.11: Many of the install() variants implicitly create the directoriescontaining the installed files. IfCMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS is set, thesedirectories will be created with the permissions specified. Otherwise,they will be created according to the uname rules on Unix-like platforms.Windows platforms are unaffected.
Any PUBLIC_HEADER files associated with a library are installed inthe destination specified by the PUBLIC_HEADER argument on non-Appleplatforms. Rules defined by this argument are ignored for FRAMEWORKlibraries on Apple platforms because the associated files are installedinto the appropriate locations inside the framework folder. SeePUBLIC_HEADER for details.
File sets are defined by the target_sources(FILE_SET) command.If the file set exists and is PUBLIC or INTERFACE,any files in the set are installed under the destination (see below).The directory structure relative to the file set's base directories ispreserved. For example, a file added to the file set as/blah/include/myproj/here.h with a base directory /blah/includewould be installed to myproj/here.h below the destination.
Any module files from C++ modules from PUBLIC sources in a file set oftype CXX_MODULES will be installed to the given DESTINATION. Allmodules are placed directly in the destination as no directory structure isderived from the names of the modules. An empty DESTINATION may be usedto suppress installing these files (for use in generic code).
For regular executables, static libraries and shared libraries, theDESTINATION argument is not required. For these target types, whenDESTINATION is omitted, a default destination will be taken from theappropriate variable from GNUInstallDirs, or set to a built-indefault value if that variable is not defined. The same is true for filesets, and the public and private headers associated with the installedtargets through the PUBLIC_HEADER and PRIVATE_HEADERtarget properties. A destination must always be provided for module libraries,Apple bundles and frameworks. A destination can be omitted for interface andobject libraries, but they are handled differently (see the discussion of thistopic toward the end of this section).
For shared libraries on DLL platforms, if neither RUNTIME nor ARCHIVEdestinations are specified, both the RUNTIME and ARCHIVE components areinstalled to their default destinations. If either a RUNTIME or ARCHIVEdestination is specified, the component is installed to that destination, andthe other component is not installed. If both RUNTIME and ARCHIVEdestinations are specified, then both components are installed to theirrespective destinations.
Projects wishing to follow the common practice of installing headers into aproject-specific subdirectory may prefer using file sets with appropriatepaths and base directories. Otherwise, they must provide a DESTINATIONinstead of being able to rely on the above (see next example below).
To make packages compliant with distribution filesystem layout policies, ifprojects must specify a DESTINATION, it is recommended that they use apath that begins with the appropriate GNUInstallDirs variable.This allows package maintainers to control the install destination by settingthe appropriate cache variables. The following example shows a static librarybeing installed to the default destination provided byGNUInstallDirs, but with its headers installed to a project-specificsubdirectory without using file sets:
where lib.so.1 is the soname of the library and lib.sois a "namelink" allowing linkers to find the library when given-l. The NAMELINK_COMPONENT option is similar to theCOMPONENT option, but it changes the installation component of a sharedlibrary namelink if one is generated. If not specified, this defaults to thevalue of COMPONENT. It is an error to use this parameter outside of aLIBRARY block.
This option causes the installation of only the namelink when a librarytarget is installed. On platforms where versioned shared libraries do nothave namelinks or when a library is not versioned, the NAMELINK_ONLYoption installs nothing. It is an error to use this parameter outside of aLIBRARY block.
Similar to NAMELINK_ONLY, but it has the opposite effect: it causes theinstallation of library files other than the namelink when a library targetis installed. When neither NAMELINK_ONLY or NAMELINK_SKIP are given,both portions are installed. On platforms where versioned shared librariesdo not have symlinks or when a library is not versioned, NAMELINK_SKIPinstalls the library. It is an error to use this parameter outside of aLIBRARY block.
This option associates the installed target files with an export called. It must appear before any target options.To actually install the export file itself, callinstall(EXPORT), documented below.See documentation of the EXPORT_NAME target property to changethe name of the exported target.
This option specifies a list of directories which will be added to theINTERFACE_INCLUDE_DIRECTORIES target property of the when exported by the install(EXPORT) command.If a relative path is specified, it is treated as relative to the$.
This option causes all runtime dependencies of installed executable, sharedlibrary, and module targets to be added to the specified runtime dependencyset. This set can then be installed with aninstall(RUNTIME_DEPENDENCY_SET) command.
This option causes all runtime dependencies of installed executable, sharedlibrary, and module targets to be installed along with the targetsthemselves. The RUNTIME, LIBRARY, FRAMEWORK, and genericarguments are used to determine the properties (DESTINATION,COMPONENT, etc.) of the installation of these dependencies.
Interface Libraries may be listed among the targets to install.They install no artifacts but will be included in an associated EXPORT.If Object Libraries are listed but given no destination for theirobject files, they will be exported as Interface Libraries.This is sufficient to satisfy transitive usage requirements of othertargets that link to the object libraries in their implementation.
New in version 3.13: install(TARGETS) can install targets that were created inother directories. When using such cross-directory install rules, runningmake install (or similar) from a subdirectory will not guarantee thattargets from other directories are up-to-date. You can usetarget_link_libraries() or add_dependencies()to ensure that such out-of-directory targets are built before thesubdirectory-specific install rules are run.
The IMPORTED_RUNTIME_ARTIFACTS form specifies rules for installing theruntime artifacts of imported targets. Projects may do this if they want tobundle outside executables or modules inside their installation. TheLIBRARY, RUNTIME, FRAMEWORK, and BUNDLE arguments have thesame semantics that they do in the TARGETS mode. Only the runtime artifactsof imported targets are installed (except in the case of FRAMEWORKlibraries, MACOSX_BUNDLE executables, and BUNDLECFBundles.) For example, headers and import libraries associated with DLLs arenot installed. In the case of FRAMEWORK libraries,MACOSX_BUNDLE executables, and BUNDLE CFBundles, theentire directory is installed.
The RUNTIME_DEPENDENCY_SET option causes the runtime artifacts of theimported executable, shared library, and module library targets to beadded to the runtime dependency set. This set can then beinstalled with an install(RUNTIME_DEPENDENCY_SET) command.
The FILES form specifies rules for installing files for a project.File names given as relative paths are interpreted with respect to thecurrent source directory. Files installed by this form are by defaultgiven permissions OWNER_WRITE, OWNER_READ, GROUP_READ, andWORLD_READ if no PERMISSIONS argument is given.
df19127ead