10bbfda8aSnia#
20bbfda8aSnia# See what sort of version control bits we might have around.
30bbfda8aSnia#
40bbfda8aSnia
50bbfda8aSnia
60bbfda8aSnia# See if we're building from a bzr checkout.  This is fragile in the
70bbfda8aSnia# sense that it'll break if the bzr WT format changes, but that's
80bbfda8aSnia# staggeringly unlikely now, so...
90bbfda8aSniaset(BZR_DIRSTATE_FILE ${CMAKE_SOURCE_DIR}/.bzr/checkout/dirstate)
100bbfda8aSniaif(EXISTS ${BZR_DIRSTATE_FILE})
110bbfda8aSnia	set(IS_BZR_CO 1)
120bbfda8aSniaelse()
130bbfda8aSnia	set(IS_BZR_CO 0)
140bbfda8aSniaendif()
150bbfda8aSnia
160bbfda8aSnia
170bbfda8aSnia# If we are, see if we can find bzr(1) installed
180bbfda8aSniaset(HAS_BZR 0)
190bbfda8aSniaif(IS_BZR_CO)
20b18c2d1eSnia	find_program(BZR_CMD NAMES bzr brz)
210bbfda8aSnia	if(BZR_CMD)
220bbfda8aSnia		set(HAS_BZR 1)
23b18c2d1eSnia		message(STATUS "Building from a checkout and found bzr (${BZR_CMD}).")
240bbfda8aSnia	else()
250bbfda8aSnia		message(STATUS "Building from a checkout, but no bzr found.")
260bbfda8aSnia	endif(BZR_CMD)
270bbfda8aSniaelse()
280bbfda8aSnia	message(STATUS "You aren't building from a bzr checkout.")
290bbfda8aSniaendif(IS_BZR_CO)
300bbfda8aSnia
310bbfda8aSnia
320bbfda8aSnia# If not bzr, do a little check to see if we're building from git instead
330bbfda8aSniaif(NOT IS_BZR_CO)
340bbfda8aSnia	set(GIT_INDEX_FILE ${CMAKE_SOURCE_DIR}/.git/index)
350bbfda8aSnia	set(IS_GIT_CO 0)
360bbfda8aSnia	if(EXISTS ${GIT_INDEX_FILE})
370bbfda8aSnia		set(IS_GIT_CO 1)
380bbfda8aSnia	endif()
390bbfda8aSnia
400bbfda8aSnia	if(IS_GIT_CO)
410bbfda8aSnia		set(HAS_GIT 0)
420bbfda8aSnia		find_program(GIT_CMD git)
430bbfda8aSnia		if(GIT_CMD)
440bbfda8aSnia			set(HAS_GIT 1)
45b18c2d1eSnia			message(STATUS "Building from git repo and found git (${GIT_CMD}).")
460bbfda8aSnia		else()
470bbfda8aSnia			message(STATUS "Building from git repo, but no git found.")
480bbfda8aSnia		endif(GIT_CMD)
490bbfda8aSnia	endif(IS_GIT_CO)
500bbfda8aSniaendif(NOT IS_BZR_CO)
510bbfda8aSnia
520bbfda8aSnia
530bbfda8aSnia# Flag for dev use
540bbfda8aSniaset(VCS_CHECKS_RUN 1)
55