summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgn/build/gen.py22
-rw-r--r--gn/src/gn/gn_main.cc4
2 files changed, 24 insertions, 2 deletions
diff --git a/gn/build/gen.py b/gn/build/gen.py
index 724d94c45c1..38d4ec253f4 100755
--- a/gn/build/gen.py
+++ b/gn/build/gen.py
@@ -139,6 +139,8 @@ def main(argv):
help='The path to ar.')
parser.add_option('--isysroot',
help='The path to the macOS SDK sysroot to be used.')
+ parser.add_option('--qt-version',
+ help="The qt version gn is compiled for.")
options, args = parser.parse_args(argv)
if args:
@@ -156,6 +158,9 @@ def main(argv):
if not options.no_last_commit_position:
GenerateLastCommitPosition(host,
os.path.join(out_dir, 'last_commit_position.h'))
+ if options.qt_version:
+ generate_qt_version_header(options.qt_version, os.path.join(out_dir, 'qt_version.h'))
+
WriteGNNinja(os.path.join(out_dir, 'build.ninja'), platform, host, options)
return 0
@@ -843,5 +848,22 @@ def windows_target_build_arch():
if platform.machine().lower() in ['x86_64', 'amd64']: return 'x64'
return 'x86'
+def generate_qt_version_header(qtVersion,header):
+ contents = '''// Generated by build/gen.py.
+
+#ifndef QT_GN_VERSION
+#define QT_GN_VERSION "%s"
+#endif
+''' % (qtVersion)
+
+ old_contents = ''
+ if os.path.isfile(header):
+ with open(header, 'r') as f:
+ old_contents = f.read()
+
+ if old_contents != contents:
+ with open(header, 'w') as f:
+ f.write(contents)
+
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))
diff --git a/gn/src/gn/gn_main.cc b/gn/src/gn/gn_main.cc
index 3d260a3c46f..ae54a2aecfd 100644
--- a/gn/src/gn/gn_main.cc
+++ b/gn/src/gn/gn_main.cc
@@ -16,7 +16,7 @@
#include "util/msg_loop.h"
#include "util/sys_info.h"
-// #include "last_commit_position.h"
+#include "qt_version.h"
namespace {
@@ -49,7 +49,7 @@ int main(int argc, char** argv) {
command = commands::kHelp;
} else if (cmdline.HasSwitch(switches::kVersion)) {
// Make "--version" print the version and exit.
-// OutputString(std::string(LAST_COMMIT_POSITION) + "\n");
+ OutputString(std::string(QT_GN_VERSION) +"\n");
exit(0);
} else if (args.empty()) {
// No command, print error and exit.