summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Willers <M.Willers@gmx.net>2021-07-15 03:46:43 +0200
committerGitHub <noreply@github.com>2021-07-15 10:46:43 +0900
commit0c1284fa4126e1091bd59416c9454fa317944809 (patch)
tree82d7b2e5dff97acb25196a265fa7b848b8e4032e
parent24d197214bfdcec7430d31b42e5c87df27287aaf (diff)
downloadDLT-daemon-0c1284fa4126e1091bd59416c9454fa317944809.tar.gz
Extend include path in *.pc file (#319)
* Extend include path in *.pc file Previously, an application using this library's pkg-config setting for include directory would only get e.g. -I/usr/local/dlt/include/dlt With that include dir, the application needs to write its #include statements without any prefix, i.e. "#include "dlt_user.h" This is considered bad practice for header files of an elaborate library consisting of multiple header files. For such libraries, one should write #include statements like this: #include "dlt/dlt_user.h", i.e. prefix it with a directory. This commit achieves that by letting the pkg-config module also return the upper-level directory in addition to the previous one. For instance, the include directive returned by the above example would now be "-I/usr/local/dlt/include -I/usr/local/dlt". Signed-off-by: Martin Willers <M.Willers@gmx.net>
-rw-r--r--automotive-dlt.pc.in2
-rw-r--r--doc/dlt_for_developers.md12
2 files changed, 8 insertions, 6 deletions
diff --git a/automotive-dlt.pc.in b/automotive-dlt.pc.in
index bddd03b..a52da01 100644
--- a/automotive-dlt.pc.in
+++ b/automotive-dlt.pc.in
@@ -23,5 +23,5 @@ Description: Diagnostic Log and Trace
Version: @PROJECT_VERSION@
Requires:
Libs: -L${libdir} -ldlt -lrt -lpthread @ZLIB_LIBRARY@
-Cflags: -I${includedir}/dlt -DDLT_@PROJECT_VERSION_MAJOR@_@PROJECT_VERSION_MINOR@
+Cflags: -I${includedir}/dlt -I${includedir} -DDLT_@PROJECT_VERSION_MAJOR@_@PROJECT_VERSION_MINOR@
diff --git a/doc/dlt_for_developers.md b/doc/dlt_for_developers.md
index 10351b9..433f4a1 100644
--- a/doc/dlt_for_developers.md
+++ b/doc/dlt_for_developers.md
@@ -28,9 +28,9 @@ this document.
Please note that the #include statement depends on the means by which you are
incorporating the DLT library into your project. The `<dlt/dlt.h>` form (i.e.
with a directory prefix) seen here is necessary when you are using the CMake
-Config file (see below). If you are using pkg-config instead, then this #include
-statement needs to refer to only `<dlt.h>`, due to the way the pkg-config module
-exports the include directory.
+Config file (see below). If you are using pkg-config instead, then for
+backward-compatibility reasons it is also possible to use `#include <dlt.h>`.
+This is not recommended for new code, though.
```
#include <dlt/dlt.h>
@@ -74,7 +74,7 @@ that is being generated as part of installation.
You can thus:
```
-find_package(automotive-dlt)
+find_package(automotive-dlt REQUIRED)
...
target_link_libraries(myapp PRIVATE Genivi::DLT)
```
@@ -82,7 +82,9 @@ which lets your project automatically gain all necessary compile and link flags
needed by libdlt, including the include directories.
The generated CMake Config file follows "Modern CMake" convention and only
-exports an IMPORTED CMake target; it does not set any variables.
+exports an IMPORTED CMake target; it does not set any variables, except for the
+`automotive-dlt_FOUND` variable that can be used to treat DLT as an optional
+dependency.
### DLT with pkg-config