1
cmake_minimum_required(VERSION 2.6)
3
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/")
5
find_package(BAZAAR QUIET)
7
set(PCILIB_BUILD_DATE "")
8
set(PCILIB_LAST_MODIFICATION "")
9
set(PCILIB_REVISION "0")
10
set(PCILIB_REVISION_BRANCH "")
11
set(PCILIB_REVISION_AUTHOR "")
12
set(PCILIB_REVISION_MODIFICATIONS "")
15
COMMAND date "+%Y/%m/%d %H:%M:%S"
16
RESULT_VARIABLE _retcode
17
OUTPUT_VARIABLE _output
18
OUTPUT_STRIP_TRAILING_WHITESPACE
21
if (${_retcode} EQUAL 0)
22
set(PCILIB_BUILD_DATE ${_output})
23
endif (${_retcode} EQUAL 0)
26
COMMAND find ${CMAKE_SOURCE_DIR} -type f -name *.[ch] -printf "%TY/%Tm/%Td %TH:%TM:%TS %p\n"
28
COMMAND grep -E -v "build.h|config.h|CMakeFiles|./apps"
30
COMMAND cut -d " " -f 1-2
31
COMMAND cut -d "." -f 1
32
RESULT_VARIABLE _retcode
33
OUTPUT_VARIABLE _output
34
OUTPUT_STRIP_TRAILING_WHITESPACE
37
if (${_retcode} EQUAL 0)
38
set(PCILIB_LAST_MODIFICATION ${_output})
39
endif (${_retcode} EQUAL 0)
43
COMMAND ${BAZAAR_EXECUTABLE} revno --tree ${CMAKE_SOURCE_DIR}
44
RESULT_VARIABLE _retcode
45
OUTPUT_VARIABLE _output
46
OUTPUT_STRIP_TRAILING_WHITESPACE
49
if (${_retcode} EQUAL 0)
50
set(PCILIB_REVISION ${_output})
53
COMMAND ${BAZAAR_EXECUTABLE} log -r${PCILIB_REVISION} ${CMAKE_SOURCE_DIR}
54
RESULT_VARIABLE _retcode
55
OUTPUT_VARIABLE _output
56
OUTPUT_STRIP_TRAILING_WHITESPACE
59
if (${_retcode} EQUAL 0)
60
string(REGEX REPLACE "^(.*\n)?committer: ([^\n]+).*"
61
"\\2" PCILIB_REVISION_AUTHOR "${_output}" )
62
string(REGEX REPLACE "^(.*\n)?branch nick: ([^\n]+).*"
63
"\\2" PCILIB_REVISION_BRANCH "${_output}" )
64
endif (${_retcode} EQUAL 0)
65
endif (${_retcode} EQUAL 0)
68
COMMAND ${BAZAAR_EXECUTABLE} status -SV
70
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
71
RESULT_VARIABLE _retcode
72
OUTPUT_VARIABLE _output
73
OUTPUT_STRIP_TRAILING_WHITESPACE
76
if (${_retcode} EQUAL 0)
77
string(REGEX REPLACE "\n+" ";" PCILIB_REVISION_MODIFICATIONS ${_output})
78
# set(PCILIB_REVISION_MODIFICATIONS ${_output})
79
endif (${_retcode} EQUAL 0)
82
configure_file(${CMAKE_SOURCE_DIR}/pcilib/build.h.in ${CMAKE_BINARY_DIR}/pcilib/build.h)