diff --git a/thrust/cmake/thrust-config-version.cmake b/thrust/cmake/thrust-config-version.cmake index 0d7fdb943..a5cad0ad6 100644 --- a/thrust/cmake/thrust-config-version.cmake +++ b/thrust/cmake/thrust-config-version.cmake @@ -10,24 +10,19 @@ math(EXPR THRUST_VERSION_MAJOR "${THRUST_VERSION_FLAT} / 100000") math(EXPR THRUST_VERSION_MINOR "(${THRUST_VERSION_FLAT} / 100) % 1000") math(EXPR THRUST_VERSION_PATCH "${THRUST_VERSION_FLAT} % 100") # Thrust: "subminor" CMake: "patch" -# Build comparison versions: -set(THRUST_COMPAT "${THRUST_VERSION_MAJOR}.${THRUST_VERSION_MINOR}.${THRUST_VERSION_PATCH}") -set(THRUST_EXACT "${THRUST_COMPAT}.${THRUST_VERSION_TWEAK}") -set(FIND_COMPAT "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${PACKAGE_FIND_VERSION_PATCH}") -set(FIND_EXACT "${FIND_COMPAT}.${PACKAGE_FIND_VERSION_TWEAK}") +set(THRUST_VERSION "${THRUST_VERSION_MAJOR}.${THRUST_VERSION_MINOR}.${THRUST_VERSION_PATCH}.${THRUST_VERSION_TWEAK}") -# Set default results -set(PACKAGE_VERSION ${THRUST_EXACT}) -set(PACKAGE_VERSION_UNSUITABLE FALSE) +set(PACKAGE_VERSION ${THRUST_VERSION}) set(PACKAGE_VERSION_COMPATIBLE FALSE) set(PACKAGE_VERSION_EXACT FALSE) +set(PACKAGE_VERSION_UNSUITABLE FALSE) -# Test for compatibility (ignores tweak) -if (FIND_COMPAT VERSION_EQUAL THRUST_COMPAT) - set(PACKAGE_VERSION_COMPATIBLE TRUE) -endif() +if(PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION) + if(PACKAGE_FIND_VERSION_MAJOR STREQUAL THRUST_VERSION_MAJOR) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + endif() -# Test for exact (does not ignore tweak) -if (FIND_EXACT VERSION_EQUAL THRUST_EXACT) - set(PACKAGE_VERSION_EXACT TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() endif()