1FUNCTION(im2d_api_extract_version) 2 FILE(READ "${CMAKE_CURRENT_LIST_DIR}/im2d_api/im2d_version.h" version_file) 3 4 STRING(REGEX MATCH "RGA_API_MAJOR_VERSION ([0-9]+)" _ "${version_file}") 5 if(NOT CMAKE_MATCH_COUNT EQUAL 1) 6 message(FATAL_ERROR "Could not extract major version number from im2d_version.h") 7 endif() 8 set(VER_MAJOR ${CMAKE_MATCH_1}) 9 10 STRING(REGEX MATCH "RGA_API_MINOR_VERSION ([0-9]+)" _ "${version_file}") 11 if(NOT CMAKE_MATCH_COUNT EQUAL 1) 12 message(FATAL_ERROR "Could not extract minor version number from im2d_version.h") 13 endif() 14 set(VER_MINOR ${CMAKE_MATCH_1}) 15 16 STRING(REGEX MATCH "RGA_API_REVISION_VERSION ([0-9]+)" _ "${version_file}") 17 if(NOT CMAKE_MATCH_COUNT EQUAL 1) 18 message(FATAL_ERROR "Could not extract revision version number from im2d_version.h") 19 endif() 20 set(VER_REVISION ${CMAKE_MATCH_1}) 21 22 set(IM2D_API_VERSION_MAJOR ${VER_MAJOR} PARENT_SCOPE) 23 set(IM2D_API_VERSION "${VER_MAJOR}.${VER_MINOR}.${VER_REVISION}" PARENT_SCOPE) 24ENDFUNCTION() 25