简体   繁体   中英

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?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM