From a8113fb3a89984cc65d51436480cee45b60543e8 Mon Sep 17 00:00:00 2001
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Thu, 20 Oct 2022 01:25:45 +0300
Subject: apps: Share common source between applications

Multiple source files in the src/apps/cam/ directory are used by cam,
qcam and lc-compliance. They are compiled separately for each
application. Move them to a new src/apps/common/ directory and compile
them in a static library to decrease the number of compilation
operations.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/apps/lc-compliance/main.cpp         | 3 ++-
 src/apps/lc-compliance/meson.build      | 3 +--
 src/apps/lc-compliance/simple_capture.h | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

(limited to 'src/apps/lc-compliance')

diff --git a/src/apps/lc-compliance/main.cpp b/src/apps/lc-compliance/main.cpp
index 7eb52ae4..74e0d4df 100644
--- a/src/apps/lc-compliance/main.cpp
+++ b/src/apps/lc-compliance/main.cpp
@@ -14,8 +14,9 @@
 
 #include <libcamera/libcamera.h>
 
+#include "../common/options.h"
+
 #include "environment.h"
-#include "../cam/options.h"
 
 using namespace libcamera;
 
diff --git a/src/apps/lc-compliance/meson.build b/src/apps/lc-compliance/meson.build
index 05d622be..51d9075a 100644
--- a/src/apps/lc-compliance/meson.build
+++ b/src/apps/lc-compliance/meson.build
@@ -11,8 +11,6 @@ endif
 lc_compliance_enabled = true
 
 lc_compliance_sources = files([
-    '../cam/event_loop.cpp',
-    '../cam/options.cpp',
     'environment.cpp',
     'main.cpp',
     'simple_capture.cpp',
@@ -21,6 +19,7 @@ lc_compliance_sources = files([
 
 lc_compliance  = executable('lc-compliance', lc_compliance_sources,
                             cpp_args : [ '-fexceptions' ],
+                            link_with : apps_lib,
                             dependencies : [
                                 libatomic,
                                 libcamera_public,
diff --git a/src/apps/lc-compliance/simple_capture.h b/src/apps/lc-compliance/simple_capture.h
index 9d31f7cb..fd9d2a97 100644
--- a/src/apps/lc-compliance/simple_capture.h
+++ b/src/apps/lc-compliance/simple_capture.h
@@ -11,7 +11,7 @@
 
 #include <libcamera/libcamera.h>
 
-#include "../cam/event_loop.h"
+#include "../common/event_loop.h"
 
 class SimpleCapture
 {
-- 
cgit v1.2.1