Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read file content into a qmake variable and pass it to the compiler?

Tags:

qt

qmake

How to read file content into a variable in qmake project file? For example, I'd like to have the contents of KEY read from a file and pass it to the compiler:

DEFINES += KEY=**some magic and filename here**
like image 993
Jacob Avatar asked Mar 14 '14 11:03

Jacob


1 Answers

On all platforms, there's a built-in replace function $$cat:

# set a qmake variable
KEY = "$$cat(/path/to/the/file)"
# propagate the variable to C/C++
DEFINES += "KEY=\"$$KEY\""

The effect of this line is the same as if you added the following line at the beginning of every translation unit (mostly a fancy name for a .cpp file):

#define KEY <contents of the file>

Suppose that the file contains a single line:

FOO

Then:

 // source
 qDebug() << KEY;
 // preprocessed source
 qDebug() << "FOO";
like image 115
Kuba hasn't forgotten Monica Avatar answered Oct 09 '22 12:10

Kuba hasn't forgotten Monica