diff --git a/contrib/src/gen-meson-crossfile.py b/contrib/src/gen-meson-crossfile.py
index eadf3d08c843b50b8b338ff9b1e8b5dd27dff245..1612b9cd1cf64f10117b85ddd43282e628c22939 100755
--- a/contrib/src/gen-meson-crossfile.py
+++ b/contrib/src/gen-meson-crossfile.py
@@ -62,3 +62,11 @@ args.file.write("endian = 'little'\n")
 # Get first part of triplet
 cpu = os.environ.get('HOST', '').split('-')[0]
 args.file.write("cpu = '{}'\n".format(cpu))
+
+# CMake section
+args.file.write("\n[cmake]\n")
+_add_environ_val('CMAKE_C_COMPILER', 'CC')
+_add_environ_val('CMAKE_CXX_COMPILER', 'CXX')
+_add_environ_val('CMAKE_SYSTEM_NAME', 'CMAKE_SYSTEM_NAME')
+_add_environ_val('CMAKE_SYSTEM_PROCESSOR', 'ARCH')
+
diff --git a/contrib/src/main.mak b/contrib/src/main.mak
index c12113a561f9d8263ba39272e45a63833e971b6c..92e723172b98792ecd826e4f580a2210bf8eb43f 100644
--- a/contrib/src/main.mak
+++ b/contrib/src/main.mak
@@ -487,6 +487,8 @@ ifdef HAVE_CROSS_COMPILE
 MESONFLAGS += --cross-file $(abspath crossfile.meson)
 MESON = env -i PATH="$(PREFIX)/bin:$(PATH)" \
 	PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" \
+	CMAKE="$(command -v cmake)" \
+	CMAKE_PREFIX_PATH="$(PREFIX)" \
 	meson -Dpkg_config_path="$(PKG_CONFIG_PATH)" \
 	$(MESONFLAGS)