2017-08-31 1 views
0

Die cmake-Dokumentation teilt uns mit, dass die Standardberechtigungen Lese-, Lese- und Lesezugriff für Benutzer sind.Ändern der Standard-Dateiberechtigungen für den Cmake-Installationsbefehl

Unser Projekt hat Tonnen von CMakeLists.txt-Dateien mit INSTALL-Befehlen, und wir müssen alle unsere installierten Dateien und Verzeichnisse für Gruppen schreibbar sein. Gibt es eine Möglichkeit zum Festlegen/Ändern der Standardberechtigungen für das Schreiben von Gruppen, ohne eine PERMISSIONS-Spezifikation zu jedem INSTALL-Befehl hinzuzufügen?

+0

Welche OS arbeiten Sie? – Onno

+0

Red Hat Enterprise Linux 6 –

Antwort

2

Ich kenne keine Möglichkeit zur Änderung der Standardinstallationserlaubnis in CMake gesetzt. Sie können jedoch ersetzen install Befehl zum Anfügen von geeigneten Erlaubnisse zu seinen Argumenten. Wie folgt aus:

function(install TYPE) 
    if(TYPE STREQUAL "FILES") 
     # install(FILES) command with additional PERMISSIONS option at the end 
     _install(FILES ${ARGN} 
      PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ 
     ) 
    else() 
     # Pass original arguments for other types of install() command 
     _install(${TYPE} ${ARGN}) 
endfunction(install) 

Dies kann in der obersten Ebene platziert werden CMakeLists.txt vor jeder Benutzung installieren() Befehl. Alternativ kann dieser Code im Skript .cmake gespeichert werden, das in die oberste Ebene CMakeLists.txt mit dem Befehl include() aufgenommen werden kann.

1

Für Dateien und Verzeichnisse explizit installiert ist nicht globale Einstellung von CMake 3.10.0 auf Sie setzen die Berechtigungen für automatisch generierten Verzeichnisse installieren können (solche, die aufgrund CMAKE_INSTALL_PREFIX Einstellung erstellt werden oder in Zielpfad angegeben):

https://cmake.org/cmake/help/git-stage/variable/CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.html#variable:CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS

und für die Verpackung:

https://cmake.org/cmake/help/git-stage/variable/CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.html#variable:CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS

Verwandte Themen