meson.build 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. cmds = ['tpm2_createprimary', ['tpm2_pcrread', 'tpm2_pcrlist'],
  2. 'tpm2_createpolicy', 'tpm2_create', 'tpm2_load', 'tpm2_unseal']
  3. all = true
  4. foreach cmd : cmds
  5. all = all and find_program(cmd, required: false).found()
  6. endforeach
  7. if all
  8. bins += join_paths(meson.current_source_dir(), 'clevis-decrypt-tpm2')
  9. bins += join_paths(meson.current_source_dir(), 'clevis-encrypt-tpm2')
  10. mans += join_paths(meson.current_source_dir(), 'clevis-encrypt-tpm2.1')
  11. else
  12. warning('Will not install tpm2 pin due to missing dependencies!')
  13. endif
  14. # Tests.
  15. env = environment()
  16. env.prepend('PATH',
  17. join_paths(meson.source_root(), 'src'),
  18. join_paths(meson.source_root(), 'src', 'luks'),
  19. join_paths(meson.source_root(), 'src', 'luks', 'tests'),
  20. join_paths(meson.source_root(), 'src', 'pins', 'sss'),
  21. join_paths(meson.source_root(), 'src', 'pins', 'tang'),
  22. join_paths(meson.source_root(), 'src', 'pins', 'tpm2'),
  23. join_paths(meson.build_root(), 'src'),
  24. join_paths(meson.build_root(), 'src', 'luks'),
  25. join_paths(meson.build_root(), 'src', 'luks', 'tests'),
  26. join_paths(meson.build_root(), 'src', 'pins', 'sss'),
  27. join_paths(meson.build_root(), 'src', 'pins', 'tang'),
  28. join_paths(meson.build_root(), 'src', 'pins', 'tpm2'),
  29. separator: ':'
  30. )
  31. test('pin-tpm2', find_program('pin-tpm2'), env: env, timeout: 120)