add_project_arguments('-DFREEBSD', language : 'c')
endif
-
+# zstd dependency
if build_machine.system() == 'windows'
zstd_dep = dependency('zstd', modules: 'zstd::libzstd_shared', required : get_option('with-zstd'), fallback: 'zstd')
else
endif
endif
+# curl dependency
if build_machine.system() == 'windows'
- curl_dep = dependency('curl', modules: 'CURL::libcurl')
+ curl_dep = dependency('curl', modules: 'CURL::libcurl', required : get_option('with-curl'))
else
- curl_dep = dependency('libcurl')
+ curl_dep = dependency('libcurl', required : get_option('with-curl'))
+endif
+if not curl_dep.found()
+ curl_dep = disabler()
endif
-
+# openssl dependency
if build_machine.system() == 'windows'
openssl_dep = dependency('openssl', modules : ['OpenSSL::SSL', 'OpenSSL::Crypto'], required : get_option('with-openssl'))
else
add_project_arguments('-DZCHUNK_OPENSSL', language : 'c')
endif
+# includes
inc = []
inc += include_directories('include')
if host_machine.system() == 'windows'
inc += include_directories('src/lib/win32')
endif
+# argp-standalone dependency (if required)
if build_machine.system() == 'windows' or build_machine.system() == 'darwin' or build_machine.system() == 'freebsd' or not cc.links('#include <argp.h>\nstatic error_t parse_opt (int key, char *arg, struct argp_state *state) { argp_usage(state); return 0; }; void main() {}')
if fs.is_dir(join_paths([get_option('prefix'), 'include']))
inc += include_directories(join_paths([get_option('prefix'), 'include']))
option('with-zstd', type : 'feature', value : 'auto')
option('with-openssl', type : 'feature', value : 'auto')
+option('with-curl', type : 'feature', value : 'auto')
option('coverity', type : 'boolean', value : false)
link_with: zcklib,
install: true
)
-zckdl = executable(
- 'zckdl',
- ['zck_dl.c', 'util_common.c'] + extra_win_src,
- include_directories: inc,
- dependencies: [argplib, curl_dep],
- link_with: zcklib,
- install: true
-)
zck_gen_zdict = executable(
'zck_gen_zdict',
['zck_gen_zdict.c', 'util_common.c'] + extra_win_src,
link_with: zcklib,
install: true
)
+if curl_dep.found()
+ zckdl = executable(
+ 'zckdl',
+ ['zck_dl.c', 'util_common.c'] + extra_win_src,
+ include_directories: inc,
+ dependencies: [argplib, curl_dep],
+ link_with: zcklib,
+ install: true
+ )
+endif
'-V'
]
)
-test(
- 'check version info in zckdl',
- zckdl,
- args: [
- '-V'
- ]
-)
+if curl_dep.found()
+ test(
+ 'check version info in zckdl',
+ zckdl,
+ args: [
+ '-V'
+ ]
+ )
+endif
test(
'check version info in zck_read_header',
zck_read_header,
],
is_parallel: false
)
-test(
- 'check verbosity in zckdl',
- zckdl,
- args: [
- '-vvvvv',
- 'file:///empty'
- ],
- should_fail: true
-)
+if curl_dep.found()
+ test(
+ 'check verbosity in zckdl',
+ zckdl,
+ args: [
+ '-vvvvv',
+ 'file:///empty'
+ ],
+ should_fail: true
+ )
+endif
test(
'check verbosity in zck_read_header',
zck_read_header,