if(NOT DEFINED PACKAGE_VENDOR)
  set(PACKAGE_VENDOR "Acme Corporation")
endif()
if(NOT DEFINED PACKAGE_NAME)
  set(PACKAGE_NAME "Anvil")
endif()
if(NOT DEFINED PACKAGE_START_YEAR)
  set(PACKAGE_START_YEAR 1949)
endif()
if(NOT DEFINED PROJECT_VERSION)
  set(PROJECT_VERSION 1.0.0.0)
  set(PROJECT_VERSION_MAJOR 1)
  set(PROJECT_VERSION_MINOR 0)
  set(PROJECT_VERSION_PATCH 0)
  set(PROJECT_VERSION_TWEAK 0)
endif()
# TRICKY: assume PROJECT_VERSION to be at least 1 digit (MAJOR)
#  if other version components are empty string, set them to 0
if(NOT PROJECT_VERSION_MINOR)
  set(PROJECT_VERSION_MINOR 0)
endif()
if(NOT PROJECT_VERSION_PATCH)
  set(PROJECT_VERSION_PATCH 0)
endif()
if(NOT PROJECT_VERSION_TWEAK)
  set(PROJECT_VERSION_TWEAK 0)
endif()
if(NOT DEFINED PACKAGE_VERSION_MAJOR)
  set(PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
endif()
if(NOT DEFINED PACKAGE_VERSION_MINOR)
  set(PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
endif()
if(NOT DEFINED PACKAGE_VERSION_PATCH)
  set(PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
endif()
if(NOT DEFINED PACKAGE_VERSION_TWEAK)
  set(PACKAGE_VERSION_TWEAK ${PROJECT_VERSION_TWEAK})
endif()
if(NOT DEFINED FILE_VERSION_MAJOR)
  set(FILE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
endif()
if(NOT DEFINED FILE_VERSION_MINOR)
  set(FILE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
endif()
if(NOT DEFINED FILE_VERSION_PATCH)
  set(FILE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
endif()
if(NOT DEFINED FILE_VERSION_TWEAK)
  set(FILE_VERSION_TWEAK ${PROJECT_VERSION_TWEAK})
endif()
