diff options
author | L. E. Segovia <amy@amyspark.me> | 2022-12-03 11:02:26 -0300 |
---|---|---|
committer | L. E. Segovia <amy@amyspark.me> | 2022-12-06 17:37:38 +0000 |
commit | 7a7d1e592d7349bc96fa8beb68e136042b08e4aa (patch) | |
tree | 743a17a33b7ee11db412a2a5b55e95405cdae298 /meson.build | |
parent | b2422b192d57385f7acbc3d9b0ca1a94dd89b706 (diff) | |
download | lcms2-7a7d1e592d7349bc96fa8beb68e136042b08e4aa.tar.gz |
meson: Refactor the Meson build files
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 80 |
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) |