[mlpack-svn] r16098 - mlpack/trunk/CMake

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Fri Jan 3 12:58:59 EST 2014


Author: rcurtin
Date: Fri Jan  3 12:58:58 2014
New Revision: 16098

Log:
CMake script to create svnversion.hpp, if needed.


Added:
   mlpack/trunk/CMake/CreateSVNVersionHeader.cmake

Added: mlpack/trunk/CMake/CreateSVNVersionHeader.cmake
==============================================================================
--- (empty file)
+++ mlpack/trunk/CMake/CreateSVNVersionHeader.cmake	Fri Jan  3 12:58:58 2014
@@ -0,0 +1,25 @@
+# Using the CMake subversion tools, create svnversion.hpp, which just contains
+# the implementation of GetVersion() assuming that we are working inside of a
+# subversion repository.
+include(FindSubversion)
+Subversion_WC_INFO(${CMAKE_SOURCE_DIR} MLPACK)
+
+# Get the current version, if it exists.
+if(EXISTS ${CMAKE_SOURCE_DIR}/src/mlpack/core/util/svnversion.hpp)
+  file(READ ${CMAKE_SOURCE_DIR}/src/mlpack/core/util/svnversion.hpp
+      _OLD_SVNVERSION_CONTENTS)
+  string(REGEX REPLACE ".*return \"mlpack trunk-r([0-9]+)\".*" "\\1"
+      OLD_SVN_REVISION ${_OLD_SVNVERSION_CONTENTS})
+else(EXISTS ${CMAKE_SOURCE_DIR}/src/mlpack/core/util/svnversion.hpp)
+  set(OLD_SVN_REVISION "notfound")
+endif(EXISTS ${CMAKE_SOURCE_DIR}/src/mlpack/core/util/svnversion.hpp)
+
+if("${OLD_SVN_REVISION}" STREQUAL "${MLPACK_WC_REVISION}")
+  message(STATUS "svnversion.hpp is already up to date.")
+else("${OLD_SVN_REVISION}" STREQUAL "${MLPACK_WC_REVISION}")
+  # Remove the old version.
+  file(REMOVE ${CMAKE_SOURCE_DIR}/src/mlpack/core/util/svnversion.hpp)
+  file(WRITE ${CMAKE_SOURCE_DIR}/src/mlpack/core/util/svnversion.hpp
+      "return \"mlpack trunk-r${MLPACK_WC_REVISION}\";\n")
+  message(STATUS "Updated svnversion.hpp.")
+endif("${OLD_SVN_REVISION}" STREQUAL "${MLPACK_WC_REVISION}")



More information about the mlpack-svn mailing list