Reputation: 2109
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
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