[{"id":34349,"web_url":"https://patchwork.libcamera.org/comment/34349/","msgid":"<174826198813.40401.4426321950674974702@ping.linuxembedded.co.uk>","date":"2025-05-26T12:19:48","subject":"Re: [PATCH v1] Documentation: Fix `INCLUDE_PATH` doxygen\n\tconfiguration option","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Barnabás Pőcze (2025-05-26 13:03:55)\n> libcamera header files should be included using the `libcamera/...` prefix.\n> However, `INCLUDE_PATH` is currently set to `@TOP_SRCDIR@/include/libcamera`\n> meaning that doxygen, when encountering `libcamera/x.h`, will try to open\n> `@TOP_SRCDIR@/include/libcamera/libcamera/x.h`, which is not the correct\n> path.\n> \n> Fix that by using `@TOP_{BUILD,SRC}DIR@/include`. This removes the extra\n> `libcamera` component from the path and adds the corresponding directory\n> from the build directory as well since that is an implicit include\n> directory added by meson.\n> \n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\nThis sounds very reasonable - I wonder when this crept in. I recall it\nwas a long time ago that we decided to keep libcamera headers under the\n\"/libcamera/*\" include hierarchy - so I wonder if this was missed back\nthen or added since.\n\nAnyway - it won't matter much - and I believe this sounds right.\n\nIs there anything in the output doxygen that this fixes or that can\ndemonstrate doxygen is now doing the right thing that was missing\nbefore?\n\nEither way, I'd still give this an ack...\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> ---\n>  Documentation/Doxyfile-common.in | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n> \n> diff --git a/Documentation/Doxyfile-common.in b/Documentation/Doxyfile-common.in\n> index 045c19dd6..58afea1cd 100644\n> --- a/Documentation/Doxyfile-common.in\n> +++ b/Documentation/Doxyfile-common.in\n> @@ -57,7 +57,8 @@ GENERATE_LATEX         = NO\n>  MACRO_EXPANSION        = YES\n>  EXPAND_ONLY_PREDEF     = YES\n>  \n> -INCLUDE_PATH           = \"@TOP_SRCDIR@/include/libcamera\"\n> +INCLUDE_PATH           = \"@TOP_BUILDDIR@/include\" \\\n> +                         \"@TOP_SRCDIR@/include\"\n>  INCLUDE_FILE_PATTERNS  = *.h\n>  \n>  IMAGE_PATH             = \"@TOP_SRCDIR@/Documentation/images\"\n> -- \n> 2.49.0\n>","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 C6EF8C31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 26 May 2025 12:19:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 06F7E68D9D;\n\tMon, 26 May 2025 14:19:53 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2D134627DA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 26 May 2025 14:19:51 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id F0BC67E6;\n\tMon, 26 May 2025 14:19:25 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"ryX4f/TY\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1748261966;\n\tbh=dKTV7kpMB8zlaBKXW1M0agBXcq2mQy8th9AoaG+NLTY=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=ryX4f/TYKQdac+Mo+77D+Nrjp1xEnjGocX9/4mOCME1/axTUCks3hcsmuxSlzDCu6\n\tmxEKf8STGi+WsKmGvlHSvg07EPPd8MyXAtAIJi7jzy1Z4WRIx/LngflloAmI5WPZMd\n\tLyX52bQVkvJ2b9t+Q74L7+5hNWvN42py6nAZHVuc=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250526120355.2023227-1-barnabas.pocze@ideasonboard.com>","References":"<20250526120355.2023227-1-barnabas.pocze@ideasonboard.com>","Subject":"Re: [PATCH v1] Documentation: Fix `INCLUDE_PATH` doxygen\n\tconfiguration option","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 26 May 2025 13:19:48 +0100","Message-ID":"<174826198813.40401.4426321950674974702@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":34350,"web_url":"https://patchwork.libcamera.org/comment/34350/","msgid":"<dfd041c8-0777-49ec-9286-2d887a1e717d@ideasonboard.com>","date":"2025-05-26T13:25:08","subject":"Re: [PATCH v1] Documentation: Fix `INCLUDE_PATH` doxygen\n\tconfiguration option","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2025. 05. 26. 14:19 keltezéssel, Kieran Bingham írta:\n> Quoting Barnabás Pőcze (2025-05-26 13:03:55)\n>> libcamera header files should be included using the `libcamera/...` prefix.\n>> However, `INCLUDE_PATH` is currently set to `@TOP_SRCDIR@/include/libcamera`\n>> meaning that doxygen, when encountering `libcamera/x.h`, will try to open\n>> `@TOP_SRCDIR@/include/libcamera/libcamera/x.h`, which is not the correct\n>> path.\n>>\n>> Fix that by using `@TOP_{BUILD,SRC}DIR@/include`. This removes the extra\n>> `libcamera` component from the path and adds the corresponding directory\n>> from the build directory as well since that is an implicit include\n>> directory added by meson.\n>>\n>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> \n> This sounds very reasonable - I wonder when this crept in. I recall it\n> was a long time ago that we decided to keep libcamera headers under the\n> \"/libcamera/*\" include hierarchy - so I wonder if this was missed back\n> then or added since.\n> \n> Anyway - it won't matter much - and I believe this sounds right.\n> \n> Is there anything in the output doxygen that this fixes or that can\n> demonstrate doxygen is now doing the right thing that was missing\n> before?\n\nYou can see the difference if you run `doxygen -d preprocessor ...`, e.g.\n\n   #include libcamera/base/bound_method.h: already processed! skipping...\n   #include libcamera/base/message.h: parsing...\n     #include atomic: not found! skipping...\n     #include libcamera/base/private.h: parsing...\n     #include libcamera/base/bound_method.h: already processed! skipping...\n\nvs.\n\n   #include libcamera/base/bound_method.h: already processed! skipping...\n   #include libcamera/base/message.h: not found! skipping...\n\n\nI don't believe it changes anything in practice, or at least I have not\nnoticed any changes. But I thought it's better to be correct even if it\ndoes not really do anything.\n\n\nRegards,\nBarnabás Pőcze\n\n\n> \n> Either way, I'd still give this an ack...\n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n>> ---\n>>   Documentation/Doxyfile-common.in | 3 ++-\n>>   1 file changed, 2 insertions(+), 1 deletion(-)\n>>\n>> diff --git a/Documentation/Doxyfile-common.in b/Documentation/Doxyfile-common.in\n>> index 045c19dd6..58afea1cd 100644\n>> --- a/Documentation/Doxyfile-common.in\n>> +++ b/Documentation/Doxyfile-common.in\n>> @@ -57,7 +57,8 @@ GENERATE_LATEX         = NO\n>>   MACRO_EXPANSION        = YES\n>>   EXPAND_ONLY_PREDEF     = YES\n>>   \n>> -INCLUDE_PATH           = \"@TOP_SRCDIR@/include/libcamera\"\n>> +INCLUDE_PATH           = \"@TOP_BUILDDIR@/include\" \\\n>> +                         \"@TOP_SRCDIR@/include\"\n>>   INCLUDE_FILE_PATTERNS  = *.h\n>>   \n>>   IMAGE_PATH             = \"@TOP_SRCDIR@/Documentation/images\"\n>> -- \n>> 2.49.0\n>>","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 D2E52C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 26 May 2025 13:25:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A99B168D9D;\n\tMon, 26 May 2025 15:25:14 +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 8FA9A627DA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 26 May 2025 15:25:12 +0200 (CEST)","from [192.168.33.26] (185.221.141.78.nat.pool.zt.hu\n\t[185.221.141.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7F1BE581;\n\tMon, 26 May 2025 15:24:47 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"vUWRWQht\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1748265887;\n\tbh=NcJ31EHRPHEoQDA6VaaMWoctq+1LXrXUiZxSw6JOj24=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=vUWRWQht70K02+jlI6WHIMD9+yNZyuhCU+joU9jC4RDtAOohVUlmsXvbfcYp8hWH7\n\teGDQzQIUqAMW4dsJ68D8a86llB7n1c2r4JTziyi69pbAvd7crserRqNfGyUWyx47SG\n\t/R2ePaSjy3lKo7o/mrg456l69yzMYyNo6Yb77CXA=","Message-ID":"<dfd041c8-0777-49ec-9286-2d887a1e717d@ideasonboard.com>","Date":"Mon, 26 May 2025 15:25:08 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v1] Documentation: Fix `INCLUDE_PATH` doxygen\n\tconfiguration option","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20250526120355.2023227-1-barnabas.pocze@ideasonboard.com>\n\t<174826198813.40401.4426321950674974702@ping.linuxembedded.co.uk>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<174826198813.40401.4426321950674974702@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":34351,"web_url":"https://patchwork.libcamera.org/comment/34351/","msgid":"<174826680667.3299767.14715123476260547122@ping.linuxembedded.co.uk>","date":"2025-05-26T13:40:06","subject":"Re: [PATCH v1] Documentation: Fix `INCLUDE_PATH` doxygen\n\tconfiguration option","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Barnabás Pőcze (2025-05-26 14:25:08)\n> 2025. 05. 26. 14:19 keltezéssel, Kieran Bingham írta:\n> > Quoting Barnabás Pőcze (2025-05-26 13:03:55)\n> >> libcamera header files should be included using the `libcamera/...` prefix.\n> >> However, `INCLUDE_PATH` is currently set to `@TOP_SRCDIR@/include/libcamera`\n> >> meaning that doxygen, when encountering `libcamera/x.h`, will try to open\n> >> `@TOP_SRCDIR@/include/libcamera/libcamera/x.h`, which is not the correct\n> >> path.\n> >>\n> >> Fix that by using `@TOP_{BUILD,SRC}DIR@/include`. This removes the extra\n> >> `libcamera` component from the path and adds the corresponding directory\n> >> from the build directory as well since that is an implicit include\n> >> directory added by meson.\n> >>\n> >> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> > \n> > This sounds very reasonable - I wonder when this crept in. I recall it\n> > was a long time ago that we decided to keep libcamera headers under the\n> > \"/libcamera/*\" include hierarchy - so I wonder if this was missed back\n> > then or added since.\n> > \n> > Anyway - it won't matter much - and I believe this sounds right.\n> > \n> > Is there anything in the output doxygen that this fixes or that can\n> > demonstrate doxygen is now doing the right thing that was missing\n> > before?\n> \n> You can see the difference if you run `doxygen -d preprocessor ...`, e.g.\n> \n>    #include libcamera/base/bound_method.h: already processed! skipping...\n>    #include libcamera/base/message.h: parsing...\n>      #include atomic: not found! skipping...\n>      #include libcamera/base/private.h: parsing...\n>      #include libcamera/base/bound_method.h: already processed! skipping...\n> \n> vs.\n> \n>    #include libcamera/base/bound_method.h: already processed! skipping...\n>    #include libcamera/base/message.h: not found! skipping...\n> \n> \n> I don't believe it changes anything in practice, or at least I have not\n> noticed any changes. But I thought it's better to be correct even if it\n> does not really do anything.\n\nI agree, thanks for the insights above.\n\n--\nKieran\n\n\n> \n> \n> Regards,\n> Barnabás Pőcze\n> \n> \n> > \n> > Either way, I'd still give this an ack...\n> > \n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > \n> >> ---\n> >>   Documentation/Doxyfile-common.in | 3 ++-\n> >>   1 file changed, 2 insertions(+), 1 deletion(-)\n> >>\n> >> diff --git a/Documentation/Doxyfile-common.in b/Documentation/Doxyfile-common.in\n> >> index 045c19dd6..58afea1cd 100644\n> >> --- a/Documentation/Doxyfile-common.in\n> >> +++ b/Documentation/Doxyfile-common.in\n> >> @@ -57,7 +57,8 @@ GENERATE_LATEX         = NO\n> >>   MACRO_EXPANSION        = YES\n> >>   EXPAND_ONLY_PREDEF     = YES\n> >>   \n> >> -INCLUDE_PATH           = \"@TOP_SRCDIR@/include/libcamera\"\n> >> +INCLUDE_PATH           = \"@TOP_BUILDDIR@/include\" \\\n> >> +                         \"@TOP_SRCDIR@/include\"\n> >>   INCLUDE_FILE_PATTERNS  = *.h\n> >>   \n> >>   IMAGE_PATH             = \"@TOP_SRCDIR@/Documentation/images\"\n> >> -- \n> >> 2.49.0\n> >>\n>","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 2CF39C31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 26 May 2025 13:40:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0D2C068D9D;\n\tMon, 26 May 2025 15:40:12 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A5D21627DA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 26 May 2025 15:40:09 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 8348B982;\n\tMon, 26 May 2025 15:39:44 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"L1HKWZXY\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1748266784;\n\tbh=/D5hukwQxA+ezQe58Ix+Vzx5OD65yaQtsE79y/adyC0=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=L1HKWZXYsIJIP+FxYt/FiNPLkHaDOL3jGOV7zZSRBPULymu5QefqYc5+j3M6P22z+\n\ttT6yfJlSsBoW2BPqM7WskkTpBK12HwTovwWL4As8qaCGVMwShPGPkttwhCepNwKYje\n\t0RVrsK/1Jw6icFHcBNces5EtbmiE+aQ55KvhTkxU=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<dfd041c8-0777-49ec-9286-2d887a1e717d@ideasonboard.com>","References":"<20250526120355.2023227-1-barnabas.pocze@ideasonboard.com>\n\t<174826198813.40401.4426321950674974702@ping.linuxembedded.co.uk>\n\t<dfd041c8-0777-49ec-9286-2d887a1e717d@ideasonboard.com>","Subject":"Re: [PATCH v1] Documentation: Fix `INCLUDE_PATH` doxygen\n\tconfiguration option","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 26 May 2025 14:40:06 +0100","Message-ID":"<174826680667.3299767.14715123476260547122@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":34369,"web_url":"https://patchwork.libcamera.org/comment/34369/","msgid":"<20250528140405.GA32738@pendragon.ideasonboard.com>","date":"2025-05-28T14:04:05","subject":"Re: [PATCH v1] Documentation: Fix `INCLUDE_PATH` doxygen\n\tconfiguration option","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Barnabás,\n\nThank you for the patch.\n\nOn Mon, May 26, 2025 at 02:03:55PM +0200, Barnabás Pőcze wrote:\n> libcamera header files should be included using the `libcamera/...` prefix.\n> However, `INCLUDE_PATH` is currently set to `@TOP_SRCDIR@/include/libcamera`\n> meaning that doxygen, when encountering `libcamera/x.h`, will try to open\n> `@TOP_SRCDIR@/include/libcamera/libcamera/x.h`, which is not the correct\n> path.\n> \n> Fix that by using `@TOP_{BUILD,SRC}DIR@/include`. This removes the extra\n> `libcamera` component from the path and adds the corresponding directory\n> from the build directory as well since that is an implicit include\n> directory added by meson.\n\nGenerating documentation from files in the build directory isn't very\nnice, as doxygen will list build directory names in the generated HTML.\nWe should fix it at some point, but that's an existing issue that isn't\nintroduced by this patch, so\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> ---\n>  Documentation/Doxyfile-common.in | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n> \n> diff --git a/Documentation/Doxyfile-common.in b/Documentation/Doxyfile-common.in\n> index 045c19dd6..58afea1cd 100644\n> --- a/Documentation/Doxyfile-common.in\n> +++ b/Documentation/Doxyfile-common.in\n> @@ -57,7 +57,8 @@ GENERATE_LATEX         = NO\n>  MACRO_EXPANSION        = YES\n>  EXPAND_ONLY_PREDEF     = YES\n>  \n> -INCLUDE_PATH           = \"@TOP_SRCDIR@/include/libcamera\"\n> +INCLUDE_PATH           = \"@TOP_BUILDDIR@/include\" \\\n> +                         \"@TOP_SRCDIR@/include\"\n>  INCLUDE_FILE_PATTERNS  = *.h\n>  \n>  IMAGE_PATH             = \"@TOP_SRCDIR@/Documentation/images\"","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 3602DC31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 28 May 2025 14:04:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DE1D568DA0;\n\tWed, 28 May 2025 16:04:12 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D5962614CE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 28 May 2025 16:04:10 +0200 (CEST)","from pendragon.ideasonboard.com (unknown [77.241.226.16])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5BBFDD6;\n\tWed, 28 May 2025 16:03:44 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"t6JkB/+R\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1748441024;\n\tbh=mbsEnLaQ29hG+bUGXr/EBV247/fuvGcLkRfoy6/AelI=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=t6JkB/+RMPSj7NLlATPQImofuQGlRIo5QOHpEt2N1H/3HJVtpf4U99eUWZ9CJgq+j\n\tVg+6gmsbk0z3o6tb0m0pSFFgklCVM/Xo4+Saygu39jgSGao/QaKy5a57gkLP6lBCr3\n\tqI/7kOuPPer0Fek9xmm2g/nbNckorH/yKRexethU=","Date":"Wed, 28 May 2025 16:04:05 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v1] Documentation: Fix `INCLUDE_PATH` doxygen\n\tconfiguration option","Message-ID":"<20250528140405.GA32738@pendragon.ideasonboard.com>","References":"<20250526120355.2023227-1-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20250526120355.2023227-1-barnabas.pocze@ideasonboard.com>","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]