|
1 | 1 | # |
2 | | -# Copyright (C) 2018-2020 Intel Corporation |
| 2 | +# Copyright (C) 2018-2021 Intel Corporation |
3 | 3 | # |
4 | 4 | # SPDX-License-Identifier: MIT |
5 | 5 | # |
6 | 6 |
|
7 | 7 | if(UNIX) |
8 | 8 | if(NOT DEFINED NEO_OCL_DRIVER_VERSION) |
9 | 9 | find_program(GIT NAMES git) |
10 | | - if(NOT "${GIT}" STREQUAL "GIT-NOTFOUND") |
| 10 | + find_program(PYTHON_EXECUTABLE NAMES "python3") |
| 11 | + if((NOT "${GIT}" STREQUAL "GIT-NOTFOUND") AND (NOT "${PYTHON_EXECUTABLE}" STREQUAL "PYTHON_EXECUTABLE-NOTFOUND")) |
11 | 12 | if(IS_DIRECTORY ${NEO_SOURCE_DIR}/.git) |
12 | 13 | set(GIT_arg --git-dir=${NEO_SOURCE_DIR}/.git show -s --format=%ct) |
13 | 14 | execute_process( |
14 | 15 | COMMAND ${GIT} ${GIT_arg} |
15 | 16 | OUTPUT_VARIABLE GIT_output |
16 | 17 | OUTPUT_STRIP_TRAILING_WHITESPACE |
17 | 18 | ) |
| 19 | + set(PYTHON_arg ${CMAKE_CURRENT_SOURCE_DIR}/scripts/neo_ww_calculator.py ${GIT_output}) |
| 20 | + execute_process( |
| 21 | + COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_arg} |
| 22 | + OUTPUT_VARIABLE VERSION_output |
| 23 | + OUTPUT_STRIP_TRAILING_WHITESPACE |
| 24 | + ) |
| 25 | + string(REPLACE "." ";" VERSION_list ${VERSION_output}) |
18 | 26 | endif() |
| 27 | + else() |
| 28 | + message(WARNING "Unable to determine OpenCL major.minor version. Defaulting to 1.0") |
19 | 29 | endif() |
20 | 30 |
|
21 | 31 | if(NOT DEFINED NEO_OCL_VERSION_MAJOR) |
22 | | - if(NOT DEFINED GIT_output) |
| 32 | + if(NOT DEFINED VERSION_list) |
23 | 33 | set(NEO_OCL_VERSION_MAJOR 1) |
24 | 34 | else() |
25 | | - SET(DATE_arg --date=@${GIT_output} +%y) |
26 | | - execute_process( |
27 | | - COMMAND date ${DATE_arg} |
28 | | - OUTPUT_VARIABLE NEO_OCL_VERSION_MAJOR |
29 | | - OUTPUT_STRIP_TRAILING_WHITESPACE |
30 | | - ) |
| 35 | + list(GET VERSION_list 0 NEO_OCL_VERSION_MAJOR) |
31 | 36 | message(STATUS "Computed OpenCL version major is: ${NEO_OCL_VERSION_MAJOR}") |
32 | 37 | endif() |
33 | 38 | endif() |
34 | 39 |
|
35 | 40 | if(NOT DEFINED NEO_OCL_VERSION_MINOR) |
36 | | - if(NOT DEFINED GIT_output) |
| 41 | + if(NOT DEFINED VERSION_list) |
37 | 42 | set(NEO_OCL_VERSION_MINOR 0) |
38 | 43 | else() |
39 | | - SET(DATE_arg --date=@${GIT_output} +%V) |
40 | | - execute_process( |
41 | | - COMMAND date ${DATE_arg} |
42 | | - OUTPUT_VARIABLE NEO_OCL_VERSION_MINOR |
43 | | - OUTPUT_STRIP_TRAILING_WHITESPACE |
44 | | - ) |
| 44 | + list(GET VERSION_list 1 NEO_OCL_VERSION_MINOR) |
45 | 45 | message(STATUS "Computed OpenCL version minor is: ${NEO_OCL_VERSION_MINOR}") |
46 | 46 | endif() |
47 | 47 | endif() |
|
0 commit comments