aviit
aviit

Reputation: 2109

How to get distribution name and version of OS in qmake

I want to get the distribution name and version name of OS in qmake. For Linux, in some distributions (Debian, Ubuntu, CentOS, ...), I used:

DISTRIBUTION = $$system(cat /etc/issue | cut -d\' \' -f1)
message($$DISTRIBUTION)
OSVERSION = $$system(cat /etc/issue | cut -d\' \' -f3)
message($$OSVERSION)

On my Debian 7.8, the output is:

Project MESSAGE: Debian
Project MESSAGE: 7

This is a correct result. But I'm not sure about this way. I'm finding for Windows too: Windows 7, 8, ...

Do you have any idea about this in qmake?

Upvotes: 3

Views: 1740

Answers (1)

prajmus
prajmus

Reputation: 3271

You can use conditional assignments (see Scopes and Contitions) ex.

win32:DISTRIBUTION = $$system(systeminfo | findstr /B /C:"OS Name")
unix:DISTRIBUTION = $$system(cat /etc/issue | cut -d\' \' -f1)
message($$DISTRIBUTION)

This way, the code will execute only on specific platforms. The command for Windows that I provided isn't the one you want, it prints the whole system name with version, you will have to modify it somehow.

Upvotes: 3

Related Questions