[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r3928: Add a CMake macro for determining the version of a given Tor (vidalia/trunk/cmake)
Author: edmanm
Date: 2009-07-01 20:23:34 -0400 (Wed, 01 Jul 2009)
New Revision: 3928
Modified:
vidalia/trunk/cmake/VidaliaMacros.cmake
Log:
Add a CMake macro for determining the version of a given Tor binary.
Modified: vidalia/trunk/cmake/VidaliaMacros.cmake
===================================================================
--- vidalia/trunk/cmake/VidaliaMacros.cmake 2009-06-30 20:57:22 UTC (rev 3927)
+++ vidalia/trunk/cmake/VidaliaMacros.cmake 2009-07-02 00:23:34 UTC (rev 3928)
@@ -147,6 +147,28 @@
set(${OUTFILES} ${${OUTFILES}} ${wxl})
endmacro(VIDALIA_ADD_WXL)
+## Queries the specified TOR_EXECUTABLE for its version string using the
+## --version argument, parses its output and sets TOR_VERSION to the result.
+## If no version could be determined, ${TOR_VERSION} will be undefined.
+macro(VIDALIA_GET_TOR_VERSION TOR_VERSION TOR_EXECUTABLE)
+ get_filename_component(TOR_EXE_PATH ${TOR_EXECUTABLE} ABSOLUTE)
+ if (UNIX)
+ execute_process(
+ COMMAND ${TOR_EXE_PATH} --version
+ COMMAND tail -n 1
+ COMMAND awk "{print $3}"
+ COMMAND sed -e s/\\.$//
+ OUTPUT_VARIABLE ${TOR_VERSION}
+ )
+ else(UNIX)
+ message(FATAL_ERROR
+ "The vidalia_get_tor_version macro is not implemented for your platform")
+ endif(UNIX)
+ if (DEFINED ${TOR_VERSION})
+ string(STRIP ${${TOR_VERSION}} ${TOR_VERSION})
+ endif(DEFINED ${TOR_VERSION})
+endmacro(VIDALIA_GET_TOR_VERSION)
+
if (APPLE)
include(${Vidalia_SOURCE_DIR}/cmake/ParseArgumentsMacro.cmake)