From 3b687c5474113b64f186388883ca85cdfe6523d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Mon, 10 Apr 2017 23:08:19 +0200 Subject: [PATCH] Move VERSION_MKSTRING logic to version.h Fixes a bug where the VERSION_PATCH define is not yet in scope if typedefs.h is included before version.h at compilation time. --- .gitignore | 2 +- core/typedefs.h | 11 ----------- core/version.h | 37 +++++++++++++++++++++++++++++++++++++ methods.py | 2 +- scene/main/http_request.cpp | 2 ++ 5 files changed, 41 insertions(+), 13 deletions(-) create mode 100644 core/version.h diff --git a/.gitignore b/.gitignore index 5b0f2faebf1..e768e15ce18 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ core/global_defaults.cpp core/method_bind_ext.inc core/method_bind.inc core/script_encryption_key.cpp -core/version.h +core/version_generated.h drivers/gles2/shaders/*.h drivers/unix/os_unix_global_settings_path.cpp editor/builtin_fonts.h diff --git a/core/typedefs.h b/core/typedefs.h index 1191ff35d6f..1092ecbe8c6 100644 --- a/core/typedefs.h +++ b/core/typedefs.h @@ -42,17 +42,6 @@ #define _MKSTR(m_x) _STR(m_x) #endif -/** - * Version macros - it is necessary to include "version.h" for those to work. - * Include it in the .cpp file, not the header. - */ -#ifdef VERSION_PATCH -#define VERSION_MKSTRING "" _MKSTR(VERSION_MAJOR) "." _MKSTR(VERSION_MINOR) "." _MKSTR(VERSION_PATCH) "." _MKSTR(VERSION_STATUS) "." _MKSTR(VERSION_REVISION) -#else -#define VERSION_MKSTRING "" _MKSTR(VERSION_MAJOR) "." _MKSTR(VERSION_MINOR) "." _MKSTR(VERSION_STATUS) "." _MKSTR(VERSION_REVISION) -#endif // VERSION_PATCH -#define VERSION_FULL_NAME "" _MKSTR(VERSION_NAME) " v" VERSION_MKSTRING - #ifndef _ALWAYS_INLINE_ #if defined(__GNUC__) && (__GNUC__ >= 4) diff --git a/core/version.h b/core/version.h new file mode 100644 index 00000000000..80e50e51b94 --- /dev/null +++ b/core/version.h @@ -0,0 +1,37 @@ +/*************************************************************************/ +/* version.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ +#include "version_generated.h" + +#ifdef VERSION_PATCH +#define VERSION_MKSTRING "" _MKSTR(VERSION_MAJOR) "." _MKSTR(VERSION_MINOR) "." _MKSTR(VERSION_PATCH) "." _MKSTR(VERSION_STATUS) "." _MKSTR(VERSION_REVISION) +#else +#define VERSION_MKSTRING "" _MKSTR(VERSION_MAJOR) "." _MKSTR(VERSION_MINOR) "." _MKSTR(VERSION_STATUS) "." _MKSTR(VERSION_REVISION) +#endif // VERSION_PATCH +#define VERSION_FULL_NAME "" _MKSTR(VERSION_NAME) " v" VERSION_MKSTRING diff --git a/methods.py b/methods.py index d6646697ba1..6b5bd94da80 100755 --- a/methods.py +++ b/methods.py @@ -1093,7 +1093,7 @@ def update_version(): print("Using custom revision: " + rev) import version - f = open("core/version.h", "wb") + f = open("core/version_generated.h", "wb") f.write("#define VERSION_SHORT_NAME " + str(version.short_name) + "\n") f.write("#define VERSION_NAME " + str(version.name) + "\n") f.write("#define VERSION_MAJOR " + str(version.major) + "\n") diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp index 9c8a3e3b9e9..ecd864da853 100644 --- a/scene/main/http_request.cpp +++ b/scene/main/http_request.cpp @@ -29,6 +29,8 @@ /*************************************************************************/ #include "http_request.h" +#include "version.h" + void HTTPRequest::_redirect_request(const String &p_new_url) { }