{"id":17038,"url":"https://patchwork.libcamera.org/api/1.1/patches/17038/?format=json","web_url":"https://patchwork.libcamera.org/patch/17038/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20220809134423.2092524-1-kieran.bingham@ideasonboard.com>","date":"2022-08-09T13:44:23","name":"[libcamera-devel,SimpleCam,v2] cmake: Provide a sample CMakeLists.txt","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"3791829850f2fbd844bafcf8a513d0d32dc7dda8","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/1.1/people/4/?format=json","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/17038/mbox/","series":[{"id":3395,"url":"https://patchwork.libcamera.org/api/1.1/series/3395/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3395","date":"2022-08-09T13:44:23","name":"[libcamera-devel,SimpleCam,v2] cmake: Provide a sample CMakeLists.txt","version":2,"mbox":"https://patchwork.libcamera.org/series/3395/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/17038/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/17038/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C496EBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Aug 2022 13:44:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E030A6332B;\n\tTue,  9 Aug 2022 15:44:30 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D084061FAA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Aug 2022 15:44:29 +0200 (CEST)","from Monstersaurus.local\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 46711481;\n\tTue,  9 Aug 2022 15:44:29 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1660052670;\n\tbh=IhI8Y9DulcDwGTce+dEkUT4E6jYbKGdIEuDZxeLdYws=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=qcvYNOp/nbXXPXi2r8GO/idIvgeNJtrKNAAv0h9PmWRknXVNWjlzB1ExL0roUWdHL\n\tV6thfF4lf/zoKwqj5cyzy42LZHQnGQlhR3c/pwimgp00UOGxKXslzssa/gciHXskVQ\n\tjufom1KDZwhlnaeOdRBZsJOobuT/k20YQO/O2Y2LbzL8YXaMB+qmPMkuhdo0xJ9G+d\n\t5YNYYacJvYGg0ABe8pHuLgTFnwcdu82Q1lYDzrs76kmZD3rthQHxuP52YzRCBZGa3t\n\tr/BI/KdYBk1Qo6eiYs5c13ezl9PCJyx+pJTqvXxV9G3sX7PEqBMLh6iQwRF8sf7l9C\n\tgwHQ3qjGptb8w==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1660052669;\n\tbh=IhI8Y9DulcDwGTce+dEkUT4E6jYbKGdIEuDZxeLdYws=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=WxWHd6stt10erk7cJWZZwH6rJLB/dOSI/Kftg8e47skGV2eu/mXUTD8L275+8Nins\n\teIEzlhNcv/MCbDZSbm0M2muV0EOBRz6byUPhMXgGhd1jbPLQifJqDhHjARctYGIrdU\n\tS9lh2Js/tnQDi9A6IH1UieFXzeU+hD8RvrKQm+KY="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"WxWHd6st\"; dkim-atps=neutral","To":"libcamera devel <libcamera-devel@lists.libcamera.org>","Date":"Tue,  9 Aug 2022 14:44:23 +0100","Message-Id":"<20220809134423.2092524-1-kieran.bingham@ideasonboard.com>","X-Mailer":"git-send-email 2.34.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [SimpleCam PATCH v2] cmake: Provide a sample\n\tCMakeLists.txt","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"While libcamera uses meson as its build infrastructure, applications are\nfree to use other make systems. CMake is widely used, so add an example\nCMakeLists.txt to support building simple-cam and linking against\nlibcamera using cmake.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\nv2:\n - Add compiler flags\n - Fix 'it's'\n - Remove stray leftovers\n - Remove version number\n\n CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++\n 1 file changed, 32 insertions(+)\n create mode 100644 CMakeLists.txt","diff":"diff --git a/CMakeLists.txt b/CMakeLists.txt\nnew file mode 100644\nindex 000000000000..2a86b55ebeea\n--- /dev/null\n+++ b/CMakeLists.txt\n@@ -0,0 +1,32 @@\n+cmake_minimum_required(VERSION 3.6)\n+\n+project(SimpleCam\n+\tDESCRIPTION \"A small and documented example application for libcamera\"\n+\tLANGUAGES CXX)\n+\n+set (CMAKE_CXX_STANDARD 17)\n+\n+set (CMAKE_CXX_FLAGS \"-Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Werror -Wno-unused-parameter\")\n+\n+find_package(PkgConfig)\n+\n+pkg_check_modules(LIBCAMERA REQUIRED IMPORTED_TARGET libcamera)\n+message(STATUS \"libcamera library found:\")\n+message(STATUS \"    version: ${LIBCAMERA_VERSION}\")\n+message(STATUS \"    libraries: ${LIBCAMERA_LINK_LIBRARIES}\")\n+message(STATUS \"    include path: ${LIBCAMERA_INCLUDE_DIRS}\")\n+\n+# libevent is used specifically by simple-cam as its event loop.\n+# Applications may use a different event handling implementation.\n+pkg_check_modules(LIBEVENT REQUIRED IMPORTED_TARGET libevent_pthreads)\n+message(STATUS \"libevent_pthreads library found:\")\n+message(STATUS \"    version: ${LIBEVENT_VERSION}\")\n+message(STATUS \"    libraries: ${LIBEVENT_LINK_LIBRARIES}\")\n+message(STATUS \"    include path: ${LIBEVENT_INCLUDE_DIRS}\")\n+\n+include_directories(${CMAKE_SOURCE_DIR} ${LIBCAMERA_INCLUDE_DIRS} ${LIBEVENT_INCLUDE_DIRS})\n+\n+add_executable(simple-cam simple-cam.cpp event_loop.cpp)\n+\n+target_link_libraries(simple-cam PkgConfig::LIBEVENT)\n+target_link_libraries(simple-cam PkgConfig::LIBCAMERA)\n","prefixes":["libcamera-devel","SimpleCam","v2"]}