Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qmakebuiltins.cpp File Reference

(d6dfdf3ad3f68a97fd4fc2843a5d5fb424193b4b)

#include "qmakeevaluator.h"
#include "qmakeevaluator_p.h"
#include "qmakeglobals.h"
#include "qmakeparser.h"
#include "qmakevfs.h"
#include "ioutils.h"
#include <qbytearray.h>
#include <qdir.h>
#include <qfile.h>
#include <qfileinfo.h>
#include <qjsonarray.h>
#include <qjsondocument.h>
#include <qjsonobject.h>
#include <qlist.h>
#include <qregularexpression.h>
#include <qset.h>
#include <qstringlist.h>
#include <qtextstream.h>
#include <qversionnumber.h>
#include <algorithm>
#include <qt_windows.h>
#include <stdio.h>
#include <stdlib.h>
+ Include dependency graph for qmakebuiltins.cpp:

Go to the source code of this file.

Classes

struct  ErrorPosition
 

Macros

#define QT_POPEN   popen
 
#define QT_POPEN_READ   "r"
 
#define QT_PCLOSE   pclose
 
#define fL1S(s)
 

Enumerations

enum  ExpandFunc {
  E_INVALID = 0 , E_MEMBER , E_STR_MEMBER , E_FIRST ,
  E_TAKE_FIRST , E_LAST , E_TAKE_LAST , E_SIZE ,
  E_STR_SIZE , E_CAT , E_FROMFILE , E_EVAL ,
  E_LIST , E_SPRINTF , E_FORMAT_NUMBER , E_NUM_ADD ,
  E_JOIN , E_SPLIT , E_BASENAME , E_DIRNAME ,
  E_SECTION , E_FIND , E_SYSTEM , E_UNIQUE ,
  E_SORTED , E_REVERSE , E_QUOTE , E_ESCAPE_EXPAND ,
  E_UPPER , E_LOWER , E_TITLE , E_FILES ,
  E_PROMPT , E_RE_ESCAPE , E_VAL_ESCAPE , E_REPLACE ,
  E_SORT_DEPENDS , E_RESOLVE_DEPENDS , E_ENUMERATE_VARS , E_SHADOWED ,
  E_ABSOLUTE_PATH , E_RELATIVE_PATH , E_CLEAN_PATH , E_SYSTEM_PATH ,
  E_SHELL_PATH , E_SYSTEM_QUOTE , E_SHELL_QUOTE , E_GETENV ,
  E_READ_REGISTRY , E_INVALID = 0 , E_MEMBER , E_STR_MEMBER ,
  E_FIRST , E_TAKE_FIRST , E_LAST , E_TAKE_LAST ,
  E_SIZE , E_STR_SIZE , E_CAT , E_FROMFILE ,
  E_EVAL , E_LIST , E_SPRINTF , E_FORMAT_NUMBER ,
  E_NUM_ADD , E_JOIN , E_SPLIT , E_BASENAME ,
  E_DIRNAME , E_SECTION , E_FIND , E_SYSTEM ,
  E_UNIQUE , E_SORTED , E_REVERSE , E_QUOTE ,
  E_ESCAPE_EXPAND , E_UPPER , E_LOWER , E_TITLE ,
  E_FILES , E_PROMPT , E_RE_ESCAPE , E_VAL_ESCAPE ,
  E_REPLACE , E_SORT_DEPENDS , E_RESOLVE_DEPENDS , E_ENUMERATE_VARS ,
  E_SHADOWED , E_ABSOLUTE_PATH , E_RELATIVE_PATH , E_CLEAN_PATH ,
  E_SYSTEM_PATH , E_SHELL_PATH , E_SYSTEM_QUOTE , E_SHELL_QUOTE ,
  E_GETENV , E_READ_REGISTRY
}
 
enum  TestFunc {
  T_INVALID = 0 , T_REQUIRES , T_GREATERTHAN , T_LESSTHAN ,
  T_EQUALS , T_VERSION_AT_LEAST , T_VERSION_AT_MOST , T_EXISTS ,
  T_EXPORT , T_CLEAR , T_UNSET , T_EVAL ,
  T_CONFIG , T_SYSTEM , T_DEFINED , T_DISCARD_FROM ,
  T_CONTAINS , T_INFILE , T_COUNT , T_ISEMPTY ,
  T_PARSE_JSON , T_INCLUDE , T_LOAD , T_DEBUG ,
  T_LOG , T_MESSAGE , T_WARNING , T_ERROR ,
  T_IF , T_MKPATH , T_WRITE_FILE , T_TOUCH ,
  T_CACHE , T_RELOAD_PROPERTIES , T_INVALID = 0 , T_REQUIRES ,
  T_GREATERTHAN , T_LESSTHAN , T_EQUALS , T_VERSION_AT_LEAST ,
  T_VERSION_AT_MOST , T_EXISTS , T_EXPORT , T_CLEAR ,
  T_UNSET , T_EVAL , T_CONFIG , T_SYSTEM ,
  T_DEFINED , T_DISCARD_FROM , T_CONTAINS , T_INFILE ,
  T_COUNT , T_ISEMPTY , T_PARSE_JSON , T_INCLUDE ,
  T_LOAD , T_DEBUG , T_LOG , T_MESSAGE ,
  T_WARNING , T_ERROR , T_IF , T_MKPATH ,
  T_WRITE_FILE , T_TOUCH , T_CACHE , T_RELOAD_PROPERTIES
}
 
enum  ExpandFunc {
  E_INVALID = 0 , E_MEMBER , E_STR_MEMBER , E_FIRST ,
  E_TAKE_FIRST , E_LAST , E_TAKE_LAST , E_SIZE ,
  E_STR_SIZE , E_CAT , E_FROMFILE , E_EVAL ,
  E_LIST , E_SPRINTF , E_FORMAT_NUMBER , E_NUM_ADD ,
  E_JOIN , E_SPLIT , E_BASENAME , E_DIRNAME ,
  E_SECTION , E_FIND , E_SYSTEM , E_UNIQUE ,
  E_SORTED , E_REVERSE , E_QUOTE , E_ESCAPE_EXPAND ,
  E_UPPER , E_LOWER , E_TITLE , E_FILES ,
  E_PROMPT , E_RE_ESCAPE , E_VAL_ESCAPE , E_REPLACE ,
  E_SORT_DEPENDS , E_RESOLVE_DEPENDS , E_ENUMERATE_VARS , E_SHADOWED ,
  E_ABSOLUTE_PATH , E_RELATIVE_PATH , E_CLEAN_PATH , E_SYSTEM_PATH ,
  E_SHELL_PATH , E_SYSTEM_QUOTE , E_SHELL_QUOTE , E_GETENV ,
  E_READ_REGISTRY , E_INVALID = 0 , E_MEMBER , E_STR_MEMBER ,
  E_FIRST , E_TAKE_FIRST , E_LAST , E_TAKE_LAST ,
  E_SIZE , E_STR_SIZE , E_CAT , E_FROMFILE ,
  E_EVAL , E_LIST , E_SPRINTF , E_FORMAT_NUMBER ,
  E_NUM_ADD , E_JOIN , E_SPLIT , E_BASENAME ,
  E_DIRNAME , E_SECTION , E_FIND , E_SYSTEM ,
  E_UNIQUE , E_SORTED , E_REVERSE , E_QUOTE ,
  E_ESCAPE_EXPAND , E_UPPER , E_LOWER , E_TITLE ,
  E_FILES , E_PROMPT , E_RE_ESCAPE , E_VAL_ESCAPE ,
  E_REPLACE , E_SORT_DEPENDS , E_RESOLVE_DEPENDS , E_ENUMERATE_VARS ,
  E_SHADOWED , E_ABSOLUTE_PATH , E_RELATIVE_PATH , E_CLEAN_PATH ,
  E_SYSTEM_PATH , E_SHELL_PATH , E_SYSTEM_QUOTE , E_SHELL_QUOTE ,
  E_GETENV , E_READ_REGISTRY
}
 
enum  TestFunc {
  T_INVALID = 0 , T_REQUIRES , T_GREATERTHAN , T_LESSTHAN ,
  T_EQUALS , T_VERSION_AT_LEAST , T_VERSION_AT_MOST , T_EXISTS ,
  T_EXPORT , T_CLEAR , T_UNSET , T_EVAL ,
  T_CONFIG , T_SYSTEM , T_DEFINED , T_DISCARD_FROM ,
  T_CONTAINS , T_INFILE , T_COUNT , T_ISEMPTY ,
  T_PARSE_JSON , T_INCLUDE , T_LOAD , T_DEBUG ,
  T_LOG , T_MESSAGE , T_WARNING , T_ERROR ,
  T_IF , T_MKPATH , T_WRITE_FILE , T_TOUCH ,
  T_CACHE , T_RELOAD_PROPERTIES , T_INVALID = 0 , T_REQUIRES ,
  T_GREATERTHAN , T_LESSTHAN , T_EQUALS , T_VERSION_AT_LEAST ,
  T_VERSION_AT_MOST , T_EXISTS , T_EXPORT , T_CLEAR ,
  T_UNSET , T_EVAL , T_CONFIG , T_SYSTEM ,
  T_DEFINED , T_DISCARD_FROM , T_CONTAINS , T_INFILE ,
  T_COUNT , T_ISEMPTY , T_PARSE_JSON , T_INCLUDE ,
  T_LOAD , T_DEBUG , T_LOG , T_MESSAGE ,
  T_WARNING , T_ERROR , T_IF , T_MKPATH ,
  T_WRITE_FILE , T_TOUCH , T_CACHE , T_RELOAD_PROPERTIES
}
 

Functions

static bool isTrue (const ProString &str)
 
static void addJsonValue (const QJsonValue &value, const QString &keyPrefix, ProValueMap *map)
 
static void insertJsonKeyValue (const QString &key, const QStringList &values, ProValueMap *map)
 
static void addJsonArray (const QJsonArray &array, const QString &keyPrefix, ProValueMap *map)
 
static void addJsonObject (const QJsonObject &object, const QString &keyPrefix, ProValueMap *map)
 
static ErrorPosition calculateErrorPosition (const QByteArray &json, int offset)
 

Macro Definition Documentation

◆ fL1S

#define fL1S ( s)
Value:
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition qstring.cpp:5888
GLdouble s
[6]
Definition qopenglext.h:235

Definition at line 63 of file qmakebuiltins.cpp.

◆ QT_PCLOSE

#define QT_PCLOSE   pclose

Definition at line 56 of file qmakebuiltins.cpp.

◆ QT_POPEN

#define QT_POPEN   popen

Definition at line 54 of file qmakebuiltins.cpp.

◆ QT_POPEN_READ

#define QT_POPEN_READ   "r"

Definition at line 55 of file qmakebuiltins.cpp.

Enumeration Type Documentation

◆ ExpandFunc [1/2]

enum ExpandFunc
Enumerator
E_INVALID 
E_MEMBER 
E_STR_MEMBER 
E_FIRST 
E_TAKE_FIRST 
E_LAST 
E_TAKE_LAST 
E_SIZE 
E_STR_SIZE 
E_CAT 
E_FROMFILE 
E_EVAL 
E_LIST 
E_SPRINTF 
E_FORMAT_NUMBER 
E_NUM_ADD 
E_JOIN 
E_SPLIT 
E_BASENAME 
E_DIRNAME 
E_SECTION 
E_FIND 
E_SYSTEM 
E_UNIQUE 
E_SORTED 
E_REVERSE 
E_QUOTE 
E_ESCAPE_EXPAND 
E_UPPER 
E_LOWER 
E_TITLE 
E_FILES 
E_PROMPT 
E_RE_ESCAPE 
E_VAL_ESCAPE 
E_REPLACE 
E_SORT_DEPENDS 
E_RESOLVE_DEPENDS 
E_ENUMERATE_VARS 
E_SHADOWED 
E_ABSOLUTE_PATH 
E_RELATIVE_PATH 
E_CLEAN_PATH 
E_SYSTEM_PATH 
E_SHELL_PATH 
E_SYSTEM_QUOTE 
E_SHELL_QUOTE 
E_GETENV 
E_READ_REGISTRY 
E_INVALID 
E_MEMBER 
E_STR_MEMBER 
E_FIRST 
E_TAKE_FIRST 
E_LAST 
E_TAKE_LAST 
E_SIZE 
E_STR_SIZE 
E_CAT 
E_FROMFILE 
E_EVAL 
E_LIST 
E_SPRINTF 
E_FORMAT_NUMBER 
E_NUM_ADD 
E_JOIN 
E_SPLIT 
E_BASENAME 
E_DIRNAME 
E_SECTION 
E_FIND 
E_SYSTEM 
E_UNIQUE 
E_SORTED 
E_REVERSE 
E_QUOTE 
E_ESCAPE_EXPAND 
E_UPPER 
E_LOWER 
E_TITLE 
E_FILES 
E_PROMPT 
E_RE_ESCAPE 
E_VAL_ESCAPE 
E_REPLACE 
E_SORT_DEPENDS 
E_RESOLVE_DEPENDS 
E_ENUMERATE_VARS 
E_SHADOWED 
E_ABSOLUTE_PATH 
E_RELATIVE_PATH 
E_CLEAN_PATH 
E_SYSTEM_PATH 
E_SHELL_PATH 
E_SYSTEM_QUOTE 
E_SHELL_QUOTE 
E_GETENV 
E_READ_REGISTRY 

Definition at line 65 of file qmakebuiltins.cpp.

◆ ExpandFunc [2/2]

enum ExpandFunc
Enumerator
E_INVALID 
E_MEMBER 
E_STR_MEMBER 
E_FIRST 
E_TAKE_FIRST 
E_LAST 
E_TAKE_LAST 
E_SIZE 
E_STR_SIZE 
E_CAT 
E_FROMFILE 
E_EVAL 
E_LIST 
E_SPRINTF 
E_FORMAT_NUMBER 
E_NUM_ADD 
E_JOIN 
E_SPLIT 
E_BASENAME 
E_DIRNAME 
E_SECTION 
E_FIND 
E_SYSTEM 
E_UNIQUE 
E_SORTED 
E_REVERSE 
E_QUOTE 
E_ESCAPE_EXPAND 
E_UPPER 
E_LOWER 
E_TITLE 
E_FILES 
E_PROMPT 
E_RE_ESCAPE 
E_VAL_ESCAPE 
E_REPLACE 
E_SORT_DEPENDS 
E_RESOLVE_DEPENDS 
E_ENUMERATE_VARS 
E_SHADOWED 
E_ABSOLUTE_PATH 
E_RELATIVE_PATH 
E_CLEAN_PATH 
E_SYSTEM_PATH 
E_SHELL_PATH 
E_SYSTEM_QUOTE 
E_SHELL_QUOTE 
E_GETENV 
E_READ_REGISTRY 
E_INVALID 
E_MEMBER 
E_STR_MEMBER 
E_FIRST 
E_TAKE_FIRST 
E_LAST 
E_TAKE_LAST 
E_SIZE 
E_STR_SIZE 
E_CAT 
E_FROMFILE 
E_EVAL 
E_LIST 
E_SPRINTF 
E_FORMAT_NUMBER 
E_NUM_ADD 
E_JOIN 
E_SPLIT 
E_BASENAME 
E_DIRNAME 
E_SECTION 
E_FIND 
E_SYSTEM 
E_UNIQUE 
E_SORTED 
E_REVERSE 
E_QUOTE 
E_ESCAPE_EXPAND 
E_UPPER 
E_LOWER 
E_TITLE 
E_FILES 
E_PROMPT 
E_RE_ESCAPE 
E_VAL_ESCAPE 
E_REPLACE 
E_SORT_DEPENDS 
E_RESOLVE_DEPENDS 
E_ENUMERATE_VARS 
E_SHADOWED 
E_ABSOLUTE_PATH 
E_RELATIVE_PATH 
E_CLEAN_PATH 
E_SYSTEM_PATH 
E_SHELL_PATH 
E_SYSTEM_QUOTE 
E_SHELL_QUOTE 
E_GETENV 
E_READ_REGISTRY 

Definition at line 65 of file qmakebuiltins.cpp.

◆ TestFunc [1/2]

enum TestFunc
Enumerator
T_INVALID 
T_REQUIRES 
T_GREATERTHAN 
T_LESSTHAN 
T_EQUALS 
T_VERSION_AT_LEAST 
T_VERSION_AT_MOST 
T_EXISTS 
T_EXPORT 
T_CLEAR 
T_UNSET 
T_EVAL 
T_CONFIG 
T_SYSTEM 
T_DEFINED 
T_DISCARD_FROM 
T_CONTAINS 
T_INFILE 
T_COUNT 
T_ISEMPTY 
T_PARSE_JSON 
T_INCLUDE 
T_LOAD 
T_DEBUG 
T_LOG 
T_MESSAGE 
T_WARNING 
T_ERROR 
T_IF 
T_MKPATH 
T_WRITE_FILE 
T_TOUCH 
T_CACHE 
T_RELOAD_PROPERTIES 
T_INVALID 
T_REQUIRES 
T_GREATERTHAN 
T_LESSTHAN 
T_EQUALS 
T_VERSION_AT_LEAST 
T_VERSION_AT_MOST 
T_EXISTS 
T_EXPORT 
T_CLEAR 
T_UNSET 
T_EVAL 
T_CONFIG 
T_SYSTEM 
T_DEFINED 
T_DISCARD_FROM 
T_CONTAINS 
T_INFILE 
T_COUNT 
T_ISEMPTY 
T_PARSE_JSON 
T_INCLUDE 
T_LOAD 
T_DEBUG 
T_LOG 
T_MESSAGE 
T_WARNING 
T_ERROR 
T_IF 
T_MKPATH 
T_WRITE_FILE 
T_TOUCH 
T_CACHE 
T_RELOAD_PROPERTIES 

Definition at line 76 of file qmakebuiltins.cpp.

◆ TestFunc [2/2]

enum TestFunc
Enumerator
T_INVALID 
T_REQUIRES 
T_GREATERTHAN 
T_LESSTHAN 
T_EQUALS 
T_VERSION_AT_LEAST 
T_VERSION_AT_MOST 
T_EXISTS 
T_EXPORT 
T_CLEAR 
T_UNSET 
T_EVAL 
T_CONFIG 
T_SYSTEM 
T_DEFINED 
T_DISCARD_FROM 
T_CONTAINS 
T_INFILE 
T_COUNT 
T_ISEMPTY 
T_PARSE_JSON 
T_INCLUDE 
T_LOAD 
T_DEBUG 
T_LOG 
T_MESSAGE 
T_WARNING 
T_ERROR 
T_IF 
T_MKPATH 
T_WRITE_FILE 
T_TOUCH 
T_CACHE 
T_RELOAD_PROPERTIES 
T_INVALID 
T_REQUIRES 
T_GREATERTHAN 
T_LESSTHAN 
T_EQUALS 
T_VERSION_AT_LEAST 
T_VERSION_AT_MOST 
T_EXISTS 
T_EXPORT 
T_CLEAR 
T_UNSET 
T_EVAL 
T_CONFIG 
T_SYSTEM 
T_DEFINED 
T_DISCARD_FROM 
T_CONTAINS 
T_INFILE 
T_COUNT 
T_ISEMPTY 
T_PARSE_JSON 
T_INCLUDE 
T_LOAD 
T_DEBUG 
T_LOG 
T_MESSAGE 
T_WARNING 
T_ERROR 
T_IF 
T_MKPATH 
T_WRITE_FILE 
T_TOUCH 
T_CACHE 
T_RELOAD_PROPERTIES 

Definition at line 76 of file qmakebuiltins.cpp.

Function Documentation

◆ addJsonArray()

static void addJsonArray ( const QJsonArray & array,
const QString & keyPrefix,
ProValueMap * map )
static

Definition at line 344 of file qmakebuiltins.cpp.

◆ addJsonObject()

static void addJsonObject ( const QJsonObject & object,
const QString & keyPrefix,
ProValueMap * map )
static

Definition at line 357 of file qmakebuiltins.cpp.

◆ addJsonValue()

static void addJsonValue ( const QJsonValue & value,
const QString & keyPrefix,
ProValueMap * map )
static

Definition at line 369 of file qmakebuiltins.cpp.

◆ calculateErrorPosition()

static ErrorPosition calculateErrorPosition ( const QByteArray & json,
int offset )
static

Definition at line 397 of file qmakebuiltins.cpp.

References ErrorPosition::column, and ErrorPosition::line.

◆ insertJsonKeyValue()

static void insertJsonKeyValue ( const QString & key,
const QStringList & values,
ProValueMap * map )
static

Definition at line 339 of file qmakebuiltins.cpp.

References ProKey::ProKey().

+ Here is the call graph for this function:

◆ isTrue()

static bool isTrue ( const ProString & str)
static

Definition at line 218 of file qmakebuiltins.cpp.