diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build
index f58c02d2cf35..c02e1d250aff 100644
--- a/include/libcamera/meson.build
+++ b/include/libcamera/meson.build
@@ -43,6 +43,8 @@ foreach header : control_source_files
                                      install_dir : join_paths('include', include_dir))
 endforeach
 
+libcamera_api += control_headers
+
 gen_header = files('gen-header.sh')
 
 libcamera_h = custom_target('gen-header',
diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index 88658ac563f7..b3a6a1aad659 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -80,7 +80,6 @@ foreach source : control_source_files
                                      command : [gen_controls, '-o', '@OUTPUT@', '@INPUT@'])
 endforeach
 
-libcamera_sources += control_headers
 libcamera_sources += control_sources
 
 gen_version = join_paths(meson.source_root(), 'utils', 'gen-version.sh')
