file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/Cargo.toml" cargo_manifest_lines)
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS Cargo.toml)
set(in_package_section FALSE)
set(package_version_count 0)
foreach(line IN LISTS cargo_manifest_lines)
if(line MATCHES "^\\[package\\][ \t]*$")
set(in_package_section TRUE)
elseif(line MATCHES "^\\[")
set(in_package_section FALSE)
elseif(in_package_section AND
line MATCHES "^version[ \t]*=[ \t]*\"([^\"]+)\"[ \t]*$")
set(version "${CMAKE_MATCH_1}")
math(EXPR package_version_count "${package_version_count} + 1")
endif()
endforeach()
if(NOT package_version_count EQUAL 1)
message(FATAL_ERROR "Expected exactly one package version in Cargo.toml")
endif()
string(REGEX REPLACE "-(alpha|beta)[0-9]*$" "" mmp_version ${version})