summaryrefslogtreecommitdiffstats
path: root/third_party/aom/build/cmake/version.cmake
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/aom/build/cmake/version.cmake67
1 files changed, 67 insertions, 0 deletions
diff --git a/third_party/aom/build/cmake/version.cmake b/third_party/aom/build/cmake/version.cmake
new file mode 100644
index 0000000000..f4377a13e1
--- /dev/null
+++ b/third_party/aom/build/cmake/version.cmake
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2017, Alliance for Open Media. All rights reserved
+#
+# This source code is subject to the terms of the BSD 2 Clause License and the
+# Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License was
+# not distributed with this source code in the LICENSE file, you can obtain it
+# at www.aomedia.org/license/software. If the Alliance for Open Media Patent
+# License 1.0 was not distributed with this source code in the PATENTS file, you
+# can obtain it at www.aomedia.org/license/patent.
+#
+cmake_minimum_required(VERSION 3.5)
+
+set(REQUIRED_ARGS "AOM_ROOT" "AOM_CONFIG_DIR" "GIT_EXECUTABLE"
+ "PERL_EXECUTABLE")
+
+foreach(arg ${REQUIRED_ARGS})
+ if("${${arg}}" STREQUAL "")
+ message(FATAL_ERROR "${arg} must not be empty.")
+ endif()
+endforeach()
+
+include("${AOM_ROOT}/build/cmake/util.cmake")
+
+# Generate the version string for this run.
+unset(aom_version)
+if(EXISTS "${GIT_EXECUTABLE}")
+ execute_process(COMMAND ${GIT_EXECUTABLE}
+ --git-dir=${AOM_ROOT}/.git describe
+ --match=v[0-9]*
+ OUTPUT_VARIABLE aom_version
+ ERROR_QUIET
+ RESULT_VARIABLE version_check_result)
+
+ if(${version_check_result} EQUAL 0)
+ string(STRIP "${aom_version}" aom_version)
+
+ # Remove the leading 'v' from the version string.
+ string(FIND "${aom_version}" "v" v_pos)
+ if(${v_pos} EQUAL 0)
+ string(SUBSTRING "${aom_version}" 1 -1 aom_version)
+ endif()
+ else()
+ set(aom_version "")
+ endif()
+endif()
+
+if("${aom_version}" STREQUAL "")
+ set(aom_version "${AOM_ROOT}/CHANGELOG")
+endif()
+
+unset(last_aom_version)
+set(version_file "${AOM_CONFIG_DIR}/config/aom_version.h")
+if(EXISTS "${version_file}")
+ extract_version_string("${version_file}" last_aom_version)
+ if("${aom_version}" MATCHES "CHANGELOG$")
+ set(aom_version "${last_aom_version}")
+ endif()
+endif()
+
+if(NOT "${aom_version}" STREQUAL "${last_aom_version}")
+ # TODO(tomfinegan): Perl dependency is unnecessary. CMake can do everything
+ # that is done by version.pl on its own (if a bit more verbosely...).
+ execute_process(COMMAND ${PERL_EXECUTABLE}
+ "${AOM_ROOT}/build/cmake/version.pl"
+ --version_data=${aom_version}
+ --version_filename=${version_file} VERBATIM)
+endif()