CMake: enable setting default dir creation permissions

Introduces CMAKE_DEFAULT_DIRECTORY_INSTALL_PERMISSIONS
variable which enables the user to specify the default
permissions for directory creation. This setting is then
used to auto set the permissions on directories which
are implicitly created by install() and file(INSTALL)
commands such as CMAKE_INSTALL_PREFIX directories.
This commit is contained in:
Domen Vrankar
2017-10-30 23:26:20 +01:00
parent 30fcf13be6
commit deeba85f81
5 changed files with 73 additions and 1 deletions
+14
View File
@@ -487,6 +487,20 @@ void cmLocalGenerator::GenerateInstallRules()
/* clang-format on */
}
// Write default directory permissions.
if (const char* defaultDirPermissions = this->Makefile->GetDefinition(
"CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS")) {
/* clang-format off */
fout <<
"# Set default install directory permissions.\n"
"if(NOT DEFINED CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS)\n"
" set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS \""
<< defaultDirPermissions << "\")\n"
"endif()\n"
"\n";
/* clang-format on */
}
// Ask each install generator to write its code.
std::vector<cmInstallGenerator*> const& installers =
this->Makefile->GetInstallGenerators();