meson.build 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. luksmeta_data = configuration_data()
  2. luksmeta = dependency('luksmeta', version: '>=8', required: false)
  3. pwmake = find_program('pwmake', required: false)
  4. libcryptsetup = dependency('libcryptsetup', version: '>=2.0.4', required: false)
  5. if libcryptsetup.found()
  6. luksmeta_data.set('OLD_CRYPTSETUP', '0')
  7. else
  8. libcryptsetup = dependency('libcryptsetup', version: '>=2.0.2', required: false)
  9. if libcryptsetup.found()
  10. luksmeta_data.set('OLD_CRYPTSETUP', '1')
  11. warning('Old version of cryptsetup found, forcing use of luksmeta')
  12. endif
  13. endif
  14. clevis_luks_common_functions = configure_file(
  15. input: 'clevis-luks-common-functions.in',
  16. output: 'clevis-luks-common-functions',
  17. configuration: luksmeta_data
  18. )
  19. clevis_luks_unbind = configure_file(input: 'clevis-luks-unbind.in',
  20. output: 'clevis-luks-unbind',
  21. configuration: luksmeta_data)
  22. if libcryptsetup.found() and luksmeta.found() and pwmake.found()
  23. subdir('systemd')
  24. subdir('udisks2')
  25. bins += clevis_luks_unbind
  26. mans += join_paths(meson.current_source_dir(), 'clevis-luks-unbind.1')
  27. bins += join_paths(meson.current_source_dir(), 'clevis-luks-bind')
  28. mans += join_paths(meson.current_source_dir(), 'clevis-luks-bind.1')
  29. mans += join_paths(meson.current_source_dir(), 'clevis-luks-unlockers.7')
  30. bins += clevis_luks_common_functions
  31. bins += join_paths(meson.current_source_dir(), 'clevis-luks-list')
  32. mans += join_paths(meson.current_source_dir(), 'clevis-luks-list.1')
  33. bins += join_paths(meson.current_source_dir(), 'clevis-luks-unlock')
  34. mans += join_paths(meson.current_source_dir(), 'clevis-luks-unlock.1')
  35. bins += join_paths(meson.current_source_dir(), 'clevis-luks-regen')
  36. mans += join_paths(meson.current_source_dir(), 'clevis-luks-regen.1')
  37. bins += join_paths(meson.current_source_dir(), 'clevis-luks-report')
  38. mans += join_paths(meson.current_source_dir(), 'clevis-luks-report.1')
  39. bins += join_paths(meson.current_source_dir(), 'clevis-luks-edit')
  40. mans += join_paths(meson.current_source_dir(), 'clevis-luks-edit.1')
  41. bins += join_paths(meson.current_source_dir(), 'clevis-luks-pass')
  42. mans += join_paths(meson.current_source_dir(), 'clevis-luks-pass.1')
  43. else
  44. warning('Will not install LUKS support due to missing dependencies!')
  45. endif
  46. # Tests.
  47. subdir('tests')