<ol>
+ <li> New: The build system now queries for git branch name and
+ revision sha1 (and automatically reconfigures if necessary). This
+ information is used to annotate summary.log and detailed.log with the
+ current revision sha1. Further, a header file <deal.II/base/revision.h>
+ is now available that exports the macros: DEAL_II_GIT_BRANCH,
+ DEAL_II_GIT_REVISION, DEAL_II_GIT_REVISION_SHORT.
+ <br>
+ (Matthias Maier, 2015/01/02)
+ </li>
</ol>
## ---------------------------------------------------------------------
##
-## Copyright (C) 2012 - 2013, 2015 by the deal.II authors
+## Copyright (C) 2012 - 2015 by the deal.II authors
##
## This file is part of the deal.II library.
##
## ---------------------------------------------------------------------
#
-# Configure config.h
+# Configure config.h and revision.h
#
CONFIGURE_FILE(
${CMAKE_CURRENT_SOURCE_DIR}/deal.II/base/config.h.in
${CMAKE_CURRENT_BINARY_DIR}/deal.II/base/config.h
)
+CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/deal.II/base/revision.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/deal.II/base/revision.h
+ )
#
# Add a rule for how to install the header files:
--- /dev/null
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2014 - 2015 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+#ifndef __deal2__revision_h
+#define __deal2__revision_h
+
+/**
+ * Name of the local git branch of the source directory.
+ */
+#define DEAL_II_GIT_BRANCH @DEAL_II_GIT_BRANCH@
+
+/**
+ * Full sha1 revision of the current git HEAD.
+ */
+#define DEAL_II_GIT_REVISION @DEAL_II_GIT_REVISION@
+
+/**
+ * Short sha1 revision of the current git HEAD.
+ */
+#define DEAL_II_GIT_SHORTREV @DEAL_II_GIT_SHORTREV@
+
+#endif