meson.build 1.3 KB

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