scyther/src/SVNVersion.cmake

34 lines
1.1 KiB
CMake
Raw Normal View History

################################################################
# Name: SVNVersion.cmake
# Purpose: Determine subversion revision id for Scyther
# and write it into a macro in version.h
# Author: Cas Cremers
################################################################
# TODO: Technically, this only needs to be redone each time a file
# changes, so this might be a target with dependencies on all files.
# Checkout version info
set_source_files_properties(version.h
PROPERTIES
GENERATED true)
find_program (SVNVERSION_EXECUTABLE NAMES svnversion)
mark_as_advanced (SVNVERSION_EXECUTABLE)
if (SVNVERSION_EXECUTABLE)
# svnversion found; we should always build this
mark_as_advanced (SVN_Version)
message (STATUS "Generating version.h using svnversion command")
exec_program (${SVNVERSION_EXECUTABLE}
OUTPUT_VARIABLE SVN_Version
)
message (STATUS "svnversion gave ${SVN_Version}")
file (WRITE version.h
"#define SVNVERSION \"${SVN_Version}\"\n"
)
else (SVNVERSION_EXECUTABLE)
# No svnversion. what do we write then? just empty...?
message (STATUS "Generating empty version.h")
file (WRITE version.h "")
endif (SVNVERSION_EXECUTABLE)