diff --git a/emper/include/meson.build b/emper/include/meson.build
index 286ccd77333a1300d3e2511a82ca100190b8a566..b86f7920652507be1f84c9cfe944fe7ac3942382 100644
--- a/emper/include/meson.build
+++ b/emper/include/meson.build
@@ -1,14 +1,33 @@
 emper_include = include_directories('.')
 
-emper_version_h = custom_target(
-  'emper-version.h',
-  output: 'emper-version.h',
-  command: [
-	'@CURRENT_SOURCE_DIR@/generateVersionHeader.sh',
-	'generate',
-	meson.project_version(),
-	'@OUTPUT@',
-	'@SOURCE_DIR@',
-  ]
-)
+versionHeaderScript = find_program('generateVersionHeader.sh')
+
+meson_version = meson.version().split('.')
+major = meson_version[0].to_int()
+minor = meson_version[1].to_int()
+if major > 0 or minor > 56
+	emper_version_h = custom_target(
+		'emper-version.h',
+		output: 'emper-version.h',
+		command: [
+			versionHeaderScript,
+			'generate',
+			meson.project_version(),
+			'@OUTPUT@',
+			meson.project_source_root(),
+		]
+	)
+else
+	emper_version_h = custom_target(
+		'emper-version.h',
+		output: 'emper-version.h',
+		command: [
+			versionHeaderScript,
+			'generate',
+			meson.project_version(),
+			'@OUTPUT@',
+			'@SOURCE_DIR@',
+		]
+	)
+endif
 emper_generated_files += emper_version_h