I have an application that is installed in /opt (this is the way it is done here). It is fine to have all the files and folders belonging to root apart from the logs directory that must be writable by anyone.
To create the logs directory I do
INSTALL(CODE "FILE(MAKE_DIRECTORY \${ENV}\${CMAKE_INSTALL_PREFIX}/logs)")
How can I then chmod the directory ?
Instead of using the CODE
variant of the INSTALL
command, consider using the DIRECTORY
variant instead. This one lets you specify the file system permissions, i.e.:
install (DIRECTORY "Logs" DESTINATION "." DIRECTORY_PERMISSIONS
OWNER_WRITE OWNER_READ OWNER_EXECUTE
GROUP_WRITE GROUP_READ GROUP_EXECUTE
WORLD_WRITE WORLD_READ WORLD_EXECUTE)
For the install
command to succeed, an empty directory Logs
must exist in the source folder.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With