blob: 68ad5bf5c0cae20f6c3a15cc8ecba643cf14991d [file] [edit]
# SPDX-FileCopyrightText: The Eigen Authors
# SPDX-License-Identifier: MPL-2.0
# Checks the variables that project(Eigen3 VERSION ...) is responsible for
# populating. Their values as observed during Eigen's own configure are baked
# into the test command, so a variable that project() left unset arrives here as
# an empty string rather than as an undefined one.
if(NOT DEFINED EIGEN_EXPECTED_VERSION OR EIGEN_EXPECTED_VERSION STREQUAL "")
message(FATAL_ERROR "EIGEN_EXPECTED_VERSION was not passed to this script.")
endif()
set(names PROJECT_VERSION Eigen3_VERSION)
# CMAKE_PROJECT_VERSION belongs to the outermost project, which is Eigen3 only
# when Eigen is not being consumed as a sub-project.
if(EIGEN_IS_TOP_LEVEL)
list(APPEND names CMAKE_PROJECT_VERSION)
endif()
foreach(name IN LISTS names)
if(NOT "${OBSERVED_${name}}" STREQUAL "${EIGEN_EXPECTED_VERSION}")
message(FATAL_ERROR "${name} was \"${OBSERVED_${name}}\", expected "
"\"${EIGEN_EXPECTED_VERSION}\": the top-level project() call "
"must declare VERSION.")
endif()
endforeach()