GLXOSD is an extensible on-screen display (OSD)/overlay for OpenGL applications running on Linux with X11 which aims to provide similar functionality to MSI Afterburner/RivaTuner OSD. It can show FPS, frame timings, temperatures and more in OpenGL games and applications. It can also be used to benchmark games, much like voglperf.
After make all, the bin/glxosd binary has 755 permissions (which is right). But after make install, the /usr/bin/glxosd binary has 644 permissions (no executable bit). So I need to add the executable permissions to it manually during packaging. That is not a problem, but it would be easier if it actually copied the file including the correct permissions.
Which seems to create the binary with correct permissions (including executable bits). But the last statement is probably where the permissions are lost again, because install(FILES) documentation claims:
Files installed by this form are by default given permissions OWNER_WRITE, OWNER_READ, GROUP_READ, and WORLD_READ if no PERMISSIONS argument is given.
I tried to replace the last command with file(COPY) which claims:
Copying preserves input permissions unless explicit permissions or NO_SOURCE_PERMISSIONS are given (default is USE_SOURCE_PERMISSIONS).
but the installed script is still without executable bits. I don't know what I'm doing wrong, I'm not familiar with cmake.
After
make all
, thebin/glxosd
binary has 755 permissions (which is right). But aftermake install
, the/usr/bin/glxosd
binary has 644 permissions (no executable bit). So I need to add the executable permissions to it manually during packaging. That is not a problem, but it would be easier if it actually copied the file including the correct permissions.I see this in
CMakeLists.txt
:Which seems to create the binary with correct permissions (including executable bits). But the last statement is probably where the permissions are lost again, because
install(FILES)
documentation claims:I tried to replace the last command with
file(COPY)
which claims:but the installed script is still without executable bits. I don't know what I'm doing wrong, I'm not familiar with cmake.