message: Handle git program or .git folder absence
  Assume version is 0.0.0.0 in such cases.
diff: +set(VERSION_MAJOR 1)
  +set(VERSION_MINOR 12)
  +set(VERSION_PATCH 0)
  +set(VERSION_COMMIT 0)
  +
  find_program(GIT git)
  +if(GIT)
  execute_process(
  COMMAND ${GIT} describe
  - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
  OUTPUT_VARIABLE GIT_DESCRIBE_DIRTY
  OUTPUT_STRIP_TRAILING_WHITESPACE
  + RESULT_VARIABLE GIT_DESCRIBE_RESULT
  )
  +
  + if(GIT_DESCRIBE_RESULT EQUAL 0)
  string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GIT_DESCRIBE_DIRTY}")
  string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${GIT_DESCRIBE_DIRTY}")
  string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${GIT_DESCRIBE_DIRTY}")
  string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+\\-([0-9]+).*" "\\1" VERSION_COMMIT "${GIT_DESCRIBE_DIRTY}")
  + else()
  + message(WARNING "git describe failed with exit code: ${GIT_DESCRIBE_RESULT}")
  + endif()
  +else()
  + message(WARNING "git is not found")
  +endif()
  +
  +message("Proceeding with version: ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_COMMIT}")
  