cmake: Como verificar a existência de um arquivo ilegível

0

Teoricamente, cmake pode verificar a existência de um arquivo

if(EXISTS "/dev/spidev0.0")

de acordo com a documentação , isso deve ser True se o arquivo nomeado ou diretório existe. O comportamento é bem definido apenas para caminhos completos. , mas descobri que a condição mencionada falha se o usuário não tiver lido nem direitos de gravação nesse arquivo. Se eu adicionar as permissões, isso funciona.

No entanto, o usuário que cria o projeto não deve acessar o dispositivo, portanto as permissões do arquivo são zero para ele. O software construído será executado em uma conta diferente com acesso SPI, portanto, o módulo correspondente deve ser criado se o arquivo do dispositivo for encontrado. test -e /dev/spidev0.0 é verdadeiro, mas cmake parece fazer test -r .

Como solução alternativa, posso verificar o link simbólico em /sys/class/spidev/spidev0.0 , mas qual é a maneira correta de lidar com o problema?

    
por Philippos 10.04.2018 / 13:43

0 respostas