@ -1,28 +1,35 @@
set ( PACKAGE_VERSION "@protobuf_VERSION@" )
set ( ${ PACKAGE_FIND_NAME } _VERSION_PRERELEASE "@protobuf_VERSION_PRERELEASE@" PARENT_SCOPE )
# P r e r e l e a s e v e r s i o n s c a n n o t b e p a s s e d i n d i r e c t l y v i a t h e f i n d _ p a c k a g e c o m m a n d ,
# s o w e a l l o w u s e r s t o s p e c i f y i t i n a v a r i a b l e
if ( NOT DEFINED "${${PACKAGE_FIND_NAME}_FIND_VERSION_PRERELEASE}" )
set ( "${${PACKAGE_FIND_NAME}_FIND_VERSION_PRERELEASE}" "" )
else ( )
set ( PACKAGE_FIND_VERSION ${ PACKAGE_FIND_VERSION } - ${ ${PACKAGE_FIND_NAME } _FIND_VERSION_PRERELEASE} )
endif ( )
set ( PACKAGE_FIND_VERSION_PRERELEASE "${${PACKAGE_FIND_NAME}_FIND_VERSION_PRERELEASE}" )
# V E R S I O N _ E Q U A L i g n o r e s t h e p r e r e l e a s e s t r i n g s , s o w e u s e S T R E Q U A L .
if ( PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION )
set ( PACKAGE_VERSION_EXACT TRUE )
endif ( )
set ( PACKAGE_VERSION_COMPATIBLE TRUE ) # A s s u m e t r u e u n t i l s h o w n o t h e r w i s e
# H a n d l e p r e r e l e a s e v e r s i o n s
set ( PACKAGE_FIND_VERSION_PRERELEASE "${${PACKAGE_FIND_NAME}_FIND_VERSION_PRERELEASE}" )
if ( NOT "@protobuf_VERSION_PRERELEASE@" STREQUAL "" )
if ( NOT ${ PACKAGE_FIND_NAME } _FIND_VERSION_PRERELEASE )
if ( NOT PACKAGE_FIND_VERSION_MAJOR EQUAL "@protobuf_VERSION_MAJOR@" )
set ( PACKAGE_VERSION_COMPATIBLE FALSE )
elseif ( PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION )
set ( PACKAGE_VERSION_COMPATIBLE FALSE )
elseif ( PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION )
# D o n o t m a t c h p r e r e l e a s e v e r s i o n s t o n o n - p r e r e l e a s e v e r s i o n r e q u e s t s .
if ( NOT "@protobuf_VERSION_PRERELEASE@" STREQUAL "" AND PACKAGE_FIND_VERSION_PRERELEASE STREQUAL "" )
message ( AUTHOR_WARNING "To use this prerelease version of ${PACKAGE_FIND_NAME}, set ${PACKAGE_FIND_NAME}_FIND_VERSION_PRERELEASE to '@protobuf_VERSION_PRERELEASE@' or greater." )
set ( PACKAGE_VERSION_COMPATIBLE FALSE )
message ( AUTHOR_WARNING "To use this prerelease version of ${PACKAGE_FIND_NAME}, set ${PACKAGE_FIND_NAME}_FIND_VERSION_PRERELEASE to '@protobuf_VERSION_PRERELEASE@'." )
endif ( )
if ( NOT "${PACKAGE_FIND_VERSION}-${PACKAGE_FIND_VERSION_PRERELEASE}" STREQUAL "${PACKAGE_VERSION}" )
set ( PACKAGE_VERSION_COMPATIBLE FALSE )
else ( )
set ( PACKAGE_VERSION_EXACT TRUE )
endif ( )
else ( )
if ( NOT PACKAGE_FIND_VERSION_MAJOR EQUAL "@protobuf_VERSION_MAJOR@" )
set ( PACKAGE_VERSION_COMPATIBLE FALSE )
elseif ( PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION )
# N o t r o b u s t l y S e m V e r c o m p l i a n t , b u t p r o t o b u f n e v e r u s e s ' . ' s e p a r a t e d p r e r e l e a s e i d e n t i f i e r s .
if ( PACKAGE_FIND_VERSION_PRERELEASE STRGREATER "@protobuf_VERSION_PRERELEASE@" )
set ( PACKAGE_VERSION_COMPATIBLE FALSE )
endif ( )
endif ( )
@ -49,4 +56,3 @@ if(NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "" AND NOT "@CMAKE_SIZEOF_VOID_P@" STRE
endif ( )
endif ( )
set ( ${ PACKAGE_FIND_NAME } _VERSION_PRERELEASE "@protobuf_VERSION_PRERELEASE@" PARENT_SCOPE )