summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorL. E. Segovia <amy@amyspark.me>2022-12-03 11:28:14 -0300
committerL. E. Segovia <amy@amyspark.me>2022-12-06 17:53:17 +0000
commit9265abd66a0b7d105a3989d1f2bad9327ceac982 (patch)
tree8e8892d5d62c51d3470106edc1720f92c85de943 /plugins
parentaef041f9f0362ce9b3fa266935aa3691c1a70eb2 (diff)
downloadlcms2-9265abd66a0b7d105a3989d1f2bad9327ceac982.tar.gz
meson: Support building the multithread plugin
Diffstat (limited to 'plugins')
-rw-r--r--plugins/meson.build4
-rw-r--r--plugins/threaded/include/meson.build1
-rw-r--r--plugins/threaded/meson.build2
-rw-r--r--plugins/threaded/src/meson.build23
-rw-r--r--plugins/threaded/testbed/meson.build16
5 files changed, 46 insertions, 0 deletions
diff --git a/plugins/meson.build b/plugins/meson.build
index bae2444..2eb9c13 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -3,3 +3,7 @@ subdir('test_profiles')
if get_option('fastfloat')
subdir('fast_float')
endif
+
+if get_option('threaded')
+ subdir('threaded')
+endif
diff --git a/plugins/threaded/include/meson.build b/plugins/threaded/include/meson.build
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/plugins/threaded/include/meson.build
@@ -0,0 +1 @@
+
diff --git a/plugins/threaded/meson.build b/plugins/threaded/meson.build
new file mode 100644
index 0000000..b5d2552
--- /dev/null
+++ b/plugins/threaded/meson.build
@@ -0,0 +1,2 @@
+subdir('src')
+subdir('testbed')
diff --git a/plugins/threaded/src/meson.build b/plugins/threaded/src/meson.build
new file mode 100644
index 0000000..634ac88
--- /dev/null
+++ b/plugins/threaded/src/meson.build
@@ -0,0 +1,23 @@
+liblcms2_threaded_sources = files(
+ 'threaded_core.c',
+ 'threaded_main.c',
+ 'threaded_scheduler.c',
+ 'threaded_split.c',
+)
+
+lcms2_threaded_incdir = include_directories('../include', '.')
+
+
+liblcms2_threaded = library(
+ 'lcms2_threaded',
+ liblcms2_threaded_sources,
+ include_directories: lcms2_threaded_incdir,
+ dependencies: liblcms2_dep,
+ c_args: cargs,
+ install: true,
+)
+
+liblcms2_threaded_dep = declare_dependency(
+ link_with: liblcms2_threaded,
+ include_directories: lcms2_threaded_incdir,
+)
diff --git a/plugins/threaded/testbed/meson.build b/plugins/threaded/testbed/meson.build
new file mode 100644
index 0000000..a5121ed
--- /dev/null
+++ b/plugins/threaded/testbed/meson.build
@@ -0,0 +1,16 @@
+threaded_testbed_sources = files(
+ 'threaded_testbed.c',
+)
+
+threaded_testbed = executable(
+ 'threaded_testbed',
+ threaded_testbed_sources,
+ dependencies: [liblcms2_threaded_dep, liblcms2_dep],
+ c_args: cargs + ['-DPROFILES_DIR="@0@"'.format(profiles_dir / '')],
+)
+
+test(
+ 'threaded_testbed',
+ threaded_testbed,
+ timeout: 600,
+)