diff options
author | Thomas Dinges <blender@dingto.org> | 2016-03-31 02:13:13 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-04-13 10:45:23 +0300 |
commit | ed050753ce3fda539ed46ed314019a34b1358486 (patch) | |
tree | a3210cec29d2eb2687de5527a2e0217e9c65ea54 /intern | |
parent | 84c68dcb3fbd172626e2f58a2b2d8f9390520b48 (diff) |
Add a version number to Cycles standalone
Now Cycles has its own versioning, that is mainly interesting for external projects, which integrate the engine.
We start with version 1.7.0. Reasons for that:
* The engine is too mature for a 1.0 release.
* We assume that Cycles inside of Blender 2.61 was version 0.1. We count upwards in 0.1 steps, therefore Cycles inside of Blender 2.77 would be 1.7.
We use a common versioning scheme here, with 3 decimals for the major, minor and patch level.
At the moment cycles --version can be used to display the version, easy to parse for external projects. The info will be added to the UI later aswell.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/app/cycles_standalone.cpp | 8 | ||||
-rw-r--r-- | intern/cycles/util/CMakeLists.txt | 1 | ||||
-rw-r--r-- | intern/cycles/util/util_version.h | 44 |
3 files changed, 52 insertions, 1 deletions
diff --git a/intern/cycles/app/cycles_standalone.cpp b/intern/cycles/app/cycles_standalone.cpp index b0d49d6ee72..951e8dca677 100644 --- a/intern/cycles/app/cycles_standalone.cpp +++ b/intern/cycles/app/cycles_standalone.cpp @@ -32,6 +32,7 @@ #include "util_string.h" #include "util_time.h" #include "util_transform.h" +#include "util_version.h" #ifdef WITH_CYCLES_STANDALONE_GUI #include "util_view.h" @@ -358,7 +359,7 @@ static void options_parse(int argc, const char **argv) /* parse options */ ArgParse ap; - bool help = false, debug = false; + bool help = false, debug = false, version = false; int verbosity = 1; ap.options ("Usage: cycles [options] file.xml", @@ -380,6 +381,7 @@ static void options_parse(int argc, const char **argv) "--verbose %d", &verbosity, "Set verbosity of the logger", #endif "--help", &help, "Print help message", + "--version", &version, "Print version number", NULL); if(ap.parse(argc, argv) < 0) { @@ -406,6 +408,10 @@ static void options_parse(int argc, const char **argv) exit(EXIT_SUCCESS); } + else if(version) { + printf("%s\n", cycles_version_number().c_str()); + exit(EXIT_SUCCESS); + } else if(help || options.filepath == "") { ap.usage(); exit(EXIT_SUCCESS); diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt index d07c7b143fb..15e6c88c30f 100644 --- a/intern/cycles/util/CMakeLists.txt +++ b/intern/cycles/util/CMakeLists.txt @@ -78,6 +78,7 @@ set(SRC_HEADERS util_transform.h util_types.h util_vector.h + util_version.h util_view.h util_windows.h util_xml.h diff --git a/intern/cycles/util/util_version.h b/intern/cycles/util/util_version.h new file mode 100644 index 00000000000..19847410e51 --- /dev/null +++ b/intern/cycles/util/util_version.h @@ -0,0 +1,44 @@ +/* + * Copyright 2011-2016 Blender Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __UTIL_VERSION_H__ +#define __UTIL_VERSION_H__ + +/* Cycles version number */ + +#include <util_string.h> + +CCL_NAMESPACE_BEGIN + +#define CYCLES_VERSION_MAJOR 1 +#define CYCLES_VERSION_MINOR 7 +#define CYCLES_VERSION_PATCH 0 + +/* Create string number, like "1.7.0" */ +string cycles_version_number() +{ + stringstream ss; + ss << CYCLES_VERSION_MAJOR << "." + << CYCLES_VERSION_MINOR << "." + << CYCLES_VERSION_PATCH; + + return ss.str(); +} + +CCL_NAMESPACE_END + +#endif /* __UTIL_VERSION_H__ */ + |