diff --git a/CMakeLists.txt b/CMakeLists.txt index d23ed0b1c5..c8700dd87a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -365,6 +365,9 @@ add_definitions(-DGMM_OCL) # We want to organize our IDE targets into folders set_property(GLOBAL PROPERTY USE_FOLDERS ON) +# determine Neo version +include(version.cmake) + # Get available platfroms include(platforms.cmake) diff --git a/version.cmake b/version.cmake new file mode 100644 index 0000000000..2218086f67 --- /dev/null +++ b/version.cmake @@ -0,0 +1,67 @@ +# Copyright (c) 2018, Intel Corporation +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +if(UNIX) + find_program(GIT NAMES git) + if(NOT "${GIT}" STREQUAL "GIT-NOTFOUND") + if(IS_DIRECTORY ${IGDRCL_SOURCE_DIR}/.git) + set(GIT_arg --git-dir=${IGDRCL_SOURCE_DIR}/.git show -s --format=%ct) + execute_process( + COMMAND ${GIT} ${GIT_arg} + OUTPUT_VARIABLE GIT_output + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + endif() + endif() + + if(NOT DEFINED NEO_VERSION_MAJOR) + if(NOT DEFINED GIT_output) + set(NEO_VERSION_MAJOR 1) + else() + SET(DATE_arg --date=@${GIT_output} +%y) + execute_process( + COMMAND date ${DATE_arg} + OUTPUT_VARIABLE NEO_VERSION_MAJOR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + message(STATUS "Computed version major is: ${NEO_VERSION_MAJOR}") + endif() + endif() + + if(NOT DEFINED NEO_VERSION_MINOR) + if(NOT DEFINED GIT_output) + set(NEO_VERSION_MINOR 0) + else() + SET(DATE_arg --date=@${GIT_output} +%V) + execute_process( + COMMAND date ${DATE_arg} + OUTPUT_VARIABLE NEO_VERSION_MINOR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + message(STATUS "Computed version minor is: ${NEO_VERSION_MINOR}") + endif() + endif() + + if(NOT DEFINED NEO_VERSION_BUILD) + set(NEO_VERSION_BUILD 0) + endif() + + set(NEO_DRIVER_VERSION "${NEO_VERSION_MAJOR}.${NEO_VERSION_MINOR}.${NEO_VERSION_BUILD}") +endif(UNIX)