diff options
Diffstat (limited to 'tqtinterface/qt4/qmake/option.h')
| -rw-r--r-- | tqtinterface/qt4/qmake/option.h | 137 | 
1 files changed, 137 insertions, 0 deletions
diff --git a/tqtinterface/qt4/qmake/option.h b/tqtinterface/qt4/qmake/option.h new file mode 100644 index 0000000..4b3a610 --- /dev/null +++ b/tqtinterface/qt4/qmake/option.h @@ -0,0 +1,137 @@ +/**************************************************************************** +** +** Definition of Option class. +** +** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA. +** +** This file is part of qmake. +** +** This file may be used under the terms of the GNU General +** Public License versions 2.0 or 3.0 as published by the Free +** Software Foundation and appearing in the files LICENSE.GPL2 +** and LICENSE.GPL3 included in the packaging of this file. +** Alternatively you may (at your option) use any later version +** of the GNU General Public License if such license has been +** publicly approved by Trolltech ASA (or its successors, if any) +** and the KDE Free TQt Foundation. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. +** If you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** This file may be used under the terms of the Q Public License as +** defined by Trolltech ASA and appearing in the file LICENSE.TQPL +** included in the packaging of this file.  Licensees holding valid TQt +** Commercial licenses may use this file in accordance with the TQt +** Commercial License Agreement provided with the Software. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted +** herein. +** +**********************************************************************/ + +#ifndef __OPTION_H__ +#define __OPTION_H__ + +#include "project.h" +#include <tqstring.h> +#include <tqstringlist.h> +#include <tqfile.h> + +#define TQMAKE_VERSION_MAJOR 1 +#define TQMAKE_VERSION_MINOR 7 +#define TQMAKE_VERSION_PATCH 0 +const char *qmake_version(); + +void fixEnvVariables(TQString &x); +void debug_msg(int level, const char *fmt, ...); +enum TQMakeWarn { +    WarnNone    = 0x00, +    WarnParser  = 0x01, +    WarnLogic   = 0x02, +    WarnAll     = 0xFF +}; +void warn_msg(TQMakeWarn t, const char *fmt, ...); + +struct Option +{ +    //simply global convenience +    static TQString libtool_ext; +    static TQString pkgcfg_ext; +    static TQString prf_ext; +    static TQString prl_ext; +    static TQString ui_ext; +    static TQStringList h_ext; +    static TQStringList cpp_ext; +    static TQString h_tqmoc_ext; +    static TQString cpp_tqmoc_ext; +    static TQString obj_ext; +    static TQString lex_ext; +    static TQString yacc_ext; +    static TQString h_tqmoc_mod; +    static TQString cpp_tqmoc_mod; +    static TQString lex_mod; +    static TQString yacc_mod; +    static TQString dir_sep; +    //both of these must be called.. +    static bool parseCommandLine(int argc, char **argv); //parse cmdline +    static bool postProcessProject(TQMakeProject *);  + +    //and convenience functions     +    static TQString fixPathToLocalOS(const TQString& in, bool fix_env=TRUE, bool canonical=TRUE); +    static TQString fixPathToTargetOS(const TQString& in, bool fix_env=TRUE, bool canonical=TRUE); + +    //global qmake mode, can only be in one mode per invocation! +    enum TQMAKE_MODE { TQMAKE_GENERATE_NOTHING, TQMAKE_GENERATE_PROJECT, TQMAKE_GENERATE_MAKEFILE,  +		      TQMAKE_GENERATE_PRL, TQMAKE_SET_PROPERTY, TQMAKE_TQUERY_PROPERTY }; +    static TQMAKE_MODE qmake_mode; + +    //all modes +    static TQFile output; +    static TQString output_dir; +    static int debug_level; +    static int warn_level; +    static TQStringList before_user_vars, after_user_vars; +    enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE, TARG_TQNX6_MODE }; +    static TARG_MODE target_mode; +    static TQString user_template, user_template_prefix; + +     +    //TQMAKE_*_PROPERTY options +    struct prop { +	static TQStringList properties; +    }; + +    //TQMAKE_GENERATE_PROJECT options +    struct projfile { +	static bool do_pwd; +	static bool do_recursive; +	static TQStringList project_dirs; +    }; + +    //TQMAKE_GENERATE_MAKEFILE options +    struct mkfile { +	static TQString qmakespec; +	static bool do_cache; +	static bool do_deps; +	static bool do_tqmocs; +	static bool do_dep_heuristics; +	static bool do_preprocess; +	static TQString cachefile; +	static int cachefile_depth; +	static TQStringList project_files; +	static TQString qmakespec_commandline; +    }; + +private: +    static int internalParseCommandLine(int, char **, int=0); +}; + + +#endif /* __OPTION_H__ */  | 
