/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to cmake/build.cmake

  • Committer: Suren A. Chilingaryan
  • Date: 2016-02-04 00:18:33 UTC
  • Revision ID: csa@suren.me-20160204001833-7ovyzg7doj07jzxb
Add build information

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
cmake_minimum_required(VERSION 2.6)
 
2
 
 
3
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/")
 
4
 
 
5
find_package(BAZAAR QUIET)
 
6
 
 
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 "")
 
13
 
 
14
execute_process(
 
15
    COMMAND date "+%Y/%m/%d %H:%M:%S"
 
16
    RESULT_VARIABLE _retcode
 
17
    OUTPUT_VARIABLE _output
 
18
    OUTPUT_STRIP_TRAILING_WHITESPACE
 
19
)
 
20
 
 
21
if (${_retcode} EQUAL 0)
 
22
    set(PCILIB_BUILD_DATE ${_output})
 
23
endif (${_retcode} EQUAL 0)
 
24
 
 
25
execute_process(
 
26
    COMMAND find ${CMAKE_SOURCE_DIR} -type f -name *.[ch] -printf "%TY/%Tm/%Td %TH:%TM:%TS  %p\n"
 
27
    COMMAND sort -n
 
28
    COMMAND grep -E -v "build.h|config.h|CMakeFiles|./apps"
 
29
    COMMAND tail -n 1
 
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
 
35
)
 
36
 
 
37
if (${_retcode} EQUAL 0)
 
38
    set(PCILIB_LAST_MODIFICATION ${_output})
 
39
endif (${_retcode} EQUAL 0)
 
40
 
 
41
if (BAZAAR_FOUND)
 
42
    execute_process(
 
43
        COMMAND ${BAZAAR_EXECUTABLE} revno --tree ${CMAKE_SOURCE_DIR}
 
44
        RESULT_VARIABLE _retcode
 
45
        OUTPUT_VARIABLE _output
 
46
        OUTPUT_STRIP_TRAILING_WHITESPACE
 
47
    )
 
48
 
 
49
    if (${_retcode} EQUAL 0)
 
50
        set(PCILIB_REVISION ${_output})
 
51
 
 
52
        execute_process(
 
53
            COMMAND ${BAZAAR_EXECUTABLE} log -r${PCILIB_REVISION} ${CMAKE_SOURCE_DIR}
 
54
            RESULT_VARIABLE _retcode
 
55
            OUTPUT_VARIABLE _output
 
56
            OUTPUT_STRIP_TRAILING_WHITESPACE
 
57
        )
 
58
 
 
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)
 
66
 
 
67
    execute_process(
 
68
        COMMAND ${BAZAAR_EXECUTABLE} status -SV
 
69
        COMMAND cut -c 5-
 
70
        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
 
71
        RESULT_VARIABLE _retcode
 
72
        OUTPUT_VARIABLE _output
 
73
        OUTPUT_STRIP_TRAILING_WHITESPACE
 
74
    )
 
75
 
 
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)
 
80
endif(BAZAAR_FOUND)
 
81
 
 
82
configure_file(${CMAKE_SOURCE_DIR}/pcilib/build.h.in ${CMAKE_BINARY_DIR}/pcilib/build.h)