|
6 | 6 | ############################################################################### |
7 | 7 | cmake_minimum_required(VERSION 3.30 FATAL_ERROR) |
8 | 8 |
|
| 9 | +find_package(Git QUIET) |
| 10 | + |
| 11 | +set( GIT_COMMIT_HASH "unknown" ) |
| 12 | +set( GIT_COMMIT_HEIGHT 0 ) |
| 13 | +set( GIT_DIRTY 0 ) |
| 14 | +set( GIT_ORIGIN_URL "https://github.com/libbitcoin/libbitcoin-node" ) |
| 15 | + |
| 16 | +if ( GIT_EXECUTABLE ) |
| 17 | + execute_process( |
| 18 | + COMMAND ${GIT_EXECUTABLE} rev-parse HEAD |
| 19 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
| 20 | + OUTPUT_VARIABLE GIT_COMMIT_HASH |
| 21 | + OUTPUT_STRIP_TRAILING_WHITESPACE |
| 22 | + ERROR_QUIET ) |
| 23 | + |
| 24 | + execute_process( |
| 25 | + COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD |
| 26 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
| 27 | + OUTPUT_VARIABLE GIT_COMMIT_HEIGHT |
| 28 | + OUTPUT_STRIP_TRAILING_WHITESPACE |
| 29 | + ERROR_QUIET ) |
| 30 | + |
| 31 | + if ( NOT GIT_COMMIT_HEIGHT ) |
| 32 | + set( GIT_COMMIT_HEIGHT 0 ) |
| 33 | + endif() |
| 34 | + |
| 35 | + execute_process( |
| 36 | + COMMAND ${GIT_EXECUTABLE} remote get-url origin |
| 37 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
| 38 | + OUTPUT_VARIABLE GIT_ORIGIN_URL |
| 39 | + OUTPUT_STRIP_TRAILING_WHITESPACE |
| 40 | + ERROR_QUIET ) |
| 41 | + |
| 42 | + execute_process( |
| 43 | + COMMAND ${GIT_EXECUTABLE} status --porcelain |
| 44 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
| 45 | + OUTPUT_VARIABLE GIT_STATUS |
| 46 | + OUTPUT_STRIP_TRAILING_WHITESPACE |
| 47 | + ERROR_QUIET ) |
| 48 | + |
| 49 | + if ( GIT_STATUS ) |
| 50 | + set( GIT_DIRTY 1 ) |
| 51 | + endif() |
| 52 | +endif() |
| 53 | + |
| 54 | +set( LIBBITCOIN_VERSION_MAJOR 4 ) |
| 55 | +set( LIBBITCOIN_VERSION_MINOR 0 ) |
| 56 | +set( LIBBITCOIN_VERSION_PATCH ${GIT_COMMIT_HEIGHT} ) |
| 57 | + |
9 | 58 | project( libbitcoin-node |
10 | | - VERSION 4.0.0 |
| 59 | + VERSION ${LIBBITCOIN_VERSION_MAJOR}.${LIBBITCOIN_VERSION_MINOR}.${LIBBITCOIN_VERSION_PATCH} |
11 | 60 | DESCRIPTION "Bitcoin Full Node" |
12 | 61 | LANGUAGES C CXX ) |
13 | 62 |
|
@@ -125,6 +174,10 @@ endif() |
125 | 174 |
|
126 | 175 | include(CheckLinkerFlag) |
127 | 176 |
|
| 177 | +#------------------------------------------------------------------------------ |
| 178 | +# Configurable file(s). |
| 179 | +#------------------------------------------------------------------------------ |
| 180 | + |
128 | 181 | #------------------------------------------------------------------------------ |
129 | 182 | # libbitcoin-node library |
130 | 183 | #------------------------------------------------------------------------------ |
|
0 commit comments