diff options
Diffstat (limited to 'config/cmake/LIBAEC/libaec-config-version.cmake.in')
-rw-r--r-- | config/cmake/LIBAEC/libaec-config-version.cmake.in | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/config/cmake/LIBAEC/libaec-config-version.cmake.in b/config/cmake/LIBAEC/libaec-config-version.cmake.in new file mode 100644 index 0000000..4f0e7ae --- /dev/null +++ b/config/cmake/LIBAEC/libaec-config-version.cmake.in @@ -0,0 +1,42 @@ +#----------------------------------------------------------------------------- +# LIBAEC Version file for install directory +#----------------------------------------------------------------------------- + +set (PACKAGE_VERSION "@LIBAEC_VERSION_STRING@") + +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + if ("${PACKAGE_FIND_VERSION_MAJOR}" STREQUAL "@LIBAEC_VERSION_MAJOR@") + + # exact match for version @LIBAEC_VERSION_MAJOR@.@LIBAEC_VERSION_MINOR@ + if ("${PACKAGE_FIND_VERSION_MINOR}" STREQUAL "@LIBAEC_VERSION_MINOR@") + + # compatible with any version @LIBAEC_VERSION_MAJOR@.@LIBAEC_VERSION_MINOR@.x + set (PACKAGE_VERSION_COMPATIBLE TRUE) + + if ("${PACKAGE_FIND_VERSION_PATCH}" STREQUAL "@LIBAEC_VERSION_RELEASE@") + set (PACKAGE_VERSION_EXACT TRUE) + + if ("${PACKAGE_FIND_VERSION_TWEAK}" STREQUAL "@LIBAEC_VERSION_SUBRELEASE@") + # not using this yet + endif () + endif () + else () + set (PACKAGE_VERSION_COMPATIBLE FALSE) + endif () + endif () +endif () + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "@CMAKE_SIZEOF_VOID_P@") + math(EXPR installedBits "@CMAKE_SIZEOF_VOID_P@ * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() + |