2013-10-16 14 views
6

Ho un file con i flag 660 impostato, ma voglio installarlo con i flag 700 impostati.cmake: come modificare i permessi dei file durante l'installazione?

Come faccio? Come modificare il permesso del file, senza modificare le autorizzazioni del file sorgente?


mia installazione di comando è questo:

install(
    FILES common.sh 
    DESTINATION /rootfs/usr/bin 
) 

e questo è quello che ho provato (ma non funziona):

install(
    FILES common.sh 
    FILE_PERMISSIONS "600" 
    DESTINATION /rootfs/usr/bin 
) 
+0

Dai un'occhiata a 'umask'. – fedorqui

+0

@fedorqui cosa intendi? –

+0

Ad esempio http://superuser.com/questions/264383/set-file-permissions-so-that-new-files-inherit-same-permissions – fedorqui

risposta

9

Non c'è FILE_PERMISSIONS argomento install(FILES ...). Utilizzare invece PERMISSIONS:

install(
    FILES common.sh 
    PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ 
    DESTINATION /rootfs/usr/bin 
) 
+0

Grazie, funziona. Ma la pagina che hai collegato parla di FILE_PERMISSIONS. Ho appena notato che non è per install(), ma il comando file(). Sarebbe possibile impostare l'autorizzazione utilizzando il comando file() in quanto sembra fornire un controllo migliore? –

+1

Beh, fanno cose diverse. I file aggiunti in 'install (FILES ...)' sono installati quando 'make install' è eseguito e vengono aggiunti a tutti i pacchetti di installazione che si fanno. I file aggiunti in 'file (INSTALLA ...)' vengono installati quando viene eseguito CMake, prima che la compilazione sia avviata. – Fraser

Problemi correlati