summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorL. E. Segovia <amy@amyspark.me>2022-12-03 11:02:26 -0300
committerL. E. Segovia <amy@amyspark.me>2022-12-06 17:37:38 +0000
commit7a7d1e592d7349bc96fa8beb68e136042b08e4aa (patch)
tree743a17a33b7ee11db412a2a5b55e95405cdae298 /meson.build
parentb2422b192d57385f7acbc3d9b0ca1a94dd89b706 (diff)
downloadlcms2-7a7d1e592d7349bc96fa8beb68e136042b08e4aa.tar.gz
meson: Refactor the Meson build files
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build80
1 files changed, 17 insertions, 63 deletions
diff --git a/meson.build b/meson.build
index e963e47..03e9485 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,6 @@
-project('Little-CMS', 'c',
+project(
+ 'Little-CMS',
+ 'c',
version: '2.14',
meson_version: '>=0.48.0',
)
@@ -7,48 +9,11 @@ library_version = '2.0.13'
cc = meson.get_compiler('c')
-lcms2_srcs = [
- 'src/cmsalpha.c',
- 'src/cmscgats.c',
- 'src/cmserr.c',
- 'src/cmsgmt.c',
- 'src/cmsintrp.c',
- 'src/cmsio1.c',
- 'src/cmsmd5.c',
- 'src/cmsnamed.c',
- 'src/cmspack.c',
- 'src/cmsplugin.c',
- 'src/cmssamp.c',
- 'src/cmstypes.c',
- 'src/cmswtpnt.c',
- 'src/cmscam02.c',
- 'src/cmscnvrt.c',
- 'src/cmsgamma.c',
- 'src/cmshalf.c',
- 'src/cmsio0.c',
- 'src/cmslut.c',
- 'src/cmsmtrx.c',
- 'src/cmsopt.c',
- 'src/cmspcs.c',
- 'src/cmsps2.c',
- 'src/cmssm.c',
- 'src/cmsvirt.c',
- 'src/cmsxform.c',
-]
+cargs = []
-install_headers([
- 'include/lcms2.h',
- 'include/lcms2_plugin.h'
-])
-
-inc_dirs = include_directories('include')
-
-deps = [
- cc.find_library('m', required: false),
- dependency('threads'),
-]
-
-cargs = ['-DHasTHREADS=1']
+if cc.has_function_attribute('visibility:hidden')
+ cargs += '-DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1'
+endif
# Check for threadsafe variants of gmtime
if cc.has_function('gmtime_r', prefix: '#include <time.h>')
@@ -57,30 +22,19 @@ elif cc.has_function('gmtime_s', prefix: '#include <time.h>')
cargs += '-DHAVE_GMTIME_S=1'
endif
-if cc.has_function_attribute('visibility:hidden')
- cargs +='-DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1'
-endif
+m_dep = cc.find_library('m', required: false)
-if host_machine.system() == 'windows'
- win = import('windows')
- lcms2_srcs += win.compile_resources('Projects/VC2019/lcms2.rc')
- cargs += '-DCMS_DLL_BUILD=1'
-endif
+threads_dep = dependency('threads')
-liblcms2_lib = library('lcms2', lcms2_srcs,
- include_directories : inc_dirs,
- gnu_symbol_visibility: 'hidden',
- dependencies: deps,
- c_args: cargs,
- version: library_version,
- vs_module_defs: 'src/lcms2.def',
- install: true,
-)
+if cc.has_function('pthread_mutex_lock', dependencies: threads_dep)
+ cargs += '-DHasTHREADS=1'
+else
+ cargs += '-DHasTHREADS=0'
+endif
+deps = [m_dep, threads_dep]
-liblcms2_dep = declare_dependency(
- link_with : liblcms2_lib,
- include_directories : inc_dirs
-)
+subdir('include')
+subdir('src')
pkg = import('pkgconfig')
pkg.generate(liblcms2_lib)