It turns out CMake requires the format to be: ^msgmerge \(.*\) (gettext-version-number-here) So, this fixes CMake's test suite, and properly sets GETTEXT_VERSION_STRING to be the same as the m4 scripts shipped. --- gettext-tiny-0.3.0_pre1/src/msgmerge.c.old 2018-06-20 23:47:19.927932643 -0500 +++ gettext-tiny-0.3.0_pre1/src/msgmerge.c 2018-06-20 23:55:12.997464272 -0500 @@ -18,7 +18,7 @@ __attribute__((noreturn)) static void version(void) { fprintf(stdout, - "these are not (GNU gettext-tools) 99.9999.9999\n"); + "msgmerge (GNU gettext-tools compatible) 99.9999.9999\n"); exit(0); }