diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/unit/18 pkgconfig static | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/unit/18 pkgconfig static')
5 files changed, 73 insertions, 0 deletions
diff --git a/meson/test cases/unit/18 pkgconfig static/foo.c b/meson/test cases/unit/18 pkgconfig static/foo.c new file mode 100644 index 000000000..bf7fbddf3 --- /dev/null +++ b/meson/test cases/unit/18 pkgconfig static/foo.c @@ -0,0 +1,8 @@ +int power_level (void) +{ +#ifdef FOO_STATIC + return 9001; +#else + return 8999; +#endif +} diff --git a/meson/test cases/unit/18 pkgconfig static/foo.pc.in b/meson/test cases/unit/18 pkgconfig static/foo.pc.in new file mode 100644 index 000000000..b26c0b0a2 --- /dev/null +++ b/meson/test cases/unit/18 pkgconfig static/foo.pc.in @@ -0,0 +1,11 @@ +prefix=@PREFIX@ +libdir=${prefix} +includedir=${prefix}/include +datadir=${prefix}/data + +Name: libfoo +Description: A foo library. +Version: 1.0 +Libs: -L${libdir} -lfoo +Libs.private: -lm +Cflags: -I${includedir} diff --git a/meson/test cases/unit/18 pkgconfig static/include/foo.h b/meson/test cases/unit/18 pkgconfig static/include/foo.h new file mode 100644 index 000000000..88ef55494 --- /dev/null +++ b/meson/test cases/unit/18 pkgconfig static/include/foo.h @@ -0,0 +1,3 @@ +#pragma once + +int power_level (void); diff --git a/meson/test cases/unit/18 pkgconfig static/main.c b/meson/test cases/unit/18 pkgconfig static/main.c new file mode 100644 index 000000000..cc4649f71 --- /dev/null +++ b/meson/test cases/unit/18 pkgconfig static/main.c @@ -0,0 +1,14 @@ +#include <foo.h> +#include <stdio.h> + +int +main (int argc, char * argv[]) +{ + int value = power_level (); + if (value < 9000) { + printf ("Power level is %i\n", value); + return 1; + } + printf ("IT'S OVER 9000!!!\n"); + return 0; +} diff --git a/meson/test cases/unit/18 pkgconfig static/meson.build b/meson/test cases/unit/18 pkgconfig static/meson.build new file mode 100644 index 000000000..d1b0fd5ac --- /dev/null +++ b/meson/test cases/unit/18 pkgconfig static/meson.build @@ -0,0 +1,37 @@ +project('pkg-config static', 'c') + +if build_machine.system() != 'windows' + prefix = meson.source_root() +else + # pkg-config files should not use paths with \ + prefix_parts = meson.source_root().split('\\') + # If the path is C:/foo/bar, convert it to /c/foo/bar so we can test if our + # automatic conversion to C:/foo/bar inside PkgConfigDependency is working. + if prefix_parts[0][1] == ':' + drive = prefix_parts[0][0] + else + drive = prefix_parts[0] + endif + new_parts = [] + foreach part : prefix_parts + if part != prefix_parts[0] + new_parts += part + endif + endforeach + prefix = '/@0@/@1@'.format(drive, '/'.join(new_parts)) +endif +message(prefix) + +# Escape spaces +prefix_parts = prefix.split(' ') +prefix = '\ '.join(prefix_parts) + +conf = configuration_data() +conf.set('PREFIX', prefix) +configure_file(input : 'foo.pc.in', + output : 'foo.pc', + configuration : conf) + +foo_dep = dependency('foo', static : true) + +test('footest', executable('foomain', 'main.c', dependencies : foo_dep)) |