- More improvements to the SVNVersion retrieval.
This commit is contained in:
parent
e595169501
commit
17e1eb4b6e
@ -5,34 +5,37 @@
|
|||||||
# Author: Cas Cremers
|
# Author: Cas Cremers
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
# TODO: Technically, this only needs to be redone each time a file
|
# Technically, this only needs to be redone each time a file
|
||||||
# changes, so this might be a target with dependencies on all files.
|
# changes, so this is a target with dependencies on all files.
|
||||||
|
|
||||||
# Checkout version info
|
# Checkout version info
|
||||||
set_source_files_properties(version.h
|
|
||||||
PROPERTIES
|
|
||||||
GENERATED true)
|
|
||||||
find_program (SVNVERSION_EXECUTABLE NAMES svnversion)
|
find_program (SVNVERSION_EXECUTABLE NAMES svnversion)
|
||||||
mark_as_advanced (SVNVERSION_EXECUTABLE)
|
mark_as_advanced (SVNVERSION_EXECUTABLE)
|
||||||
mark_as_advanced (SVNVERSION_DYNAMIC)
|
mark_as_advanced (SVNVERSION_DYNAMIC)
|
||||||
set (SVNVERSION_DYNAMIC false)
|
set (SVNVERSION_DYNAMIC false)
|
||||||
if (SVNVERSION_EXECUTABLE)
|
if (SVNVERSION_EXECUTABLE)
|
||||||
# svnversion found
|
|
||||||
if (UNIX)
|
|
||||||
# Unix system
|
|
||||||
# test whether svnversion gives useful info
|
# test whether svnversion gives useful info
|
||||||
exec_program (${SVNVERSION_EXECUTABLE}
|
execute_process (
|
||||||
OUTPUT_VALUE SVN_Result
|
COMMAND ${SVNVERSION_EXECUTABLE} --no-newline
|
||||||
|
OUTPUT_VARIABLE SVN_Result
|
||||||
)
|
)
|
||||||
mark_as_advanced (SVN_Result)
|
mark_as_advanced (SVN_Result)
|
||||||
if (SVN_Result STREQUAL "exported")
|
if (NOT SVN_Result STREQUAL "exported")
|
||||||
# svnversion gives useful stuff
|
# svnversion gives useful stuff
|
||||||
|
# write to file
|
||||||
|
file (WRITE version.h "#define SVNVERSION \"${SVN_Result}\"\n")
|
||||||
|
if (UNIX)
|
||||||
|
# Unix system
|
||||||
|
# mark for dynamic generation in
|
||||||
|
# Makefile
|
||||||
set (SVNVERSION_DYNAMIC true)
|
set (SVNVERSION_DYNAMIC true)
|
||||||
endif (SVN_Result STREQUAL "exported")
|
|
||||||
mark_as_advanced (SVNDIR)
|
|
||||||
endif (UNIX)
|
endif (UNIX)
|
||||||
|
endif (NOT SVN_Result STREQUAL "exported")
|
||||||
|
mark_as_advanced (SVNDIR)
|
||||||
endif (SVNVERSION_EXECUTABLE)
|
endif (SVNVERSION_EXECUTABLE)
|
||||||
|
|
||||||
|
# If dynamic generation is required, this means another target in the
|
||||||
|
# makefile
|
||||||
if (SVNVERSION_DYNAMIC)
|
if (SVNVERSION_DYNAMIC)
|
||||||
# add a command to generate version.h
|
# add a command to generate version.h
|
||||||
message (STATUS "Generating version.h dynamically using svnversion command")
|
message (STATUS "Generating version.h dynamically using svnversion command")
|
||||||
@ -54,5 +57,8 @@ else (SVNVERSION_DYNAMIC)
|
|||||||
endif (SVNVERSION_DYNAMIC)
|
endif (SVNVERSION_DYNAMIC)
|
||||||
|
|
||||||
# add the version number to the sources
|
# add the version number to the sources
|
||||||
|
set_source_files_properties(version.h
|
||||||
|
PROPERTIES
|
||||||
|
GENERATED true)
|
||||||
set (Scyther_sources ${Scyther_sources} version.h)
|
set (Scyther_sources ${Scyther_sources} version.h)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user