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

StackOverflow https://stackoverflow.com/questions/22403605

  •  14-06-2023
  •  | 
  •  

Question

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**
Était-ce utile?

La solution

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";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top