From 22e4c0b2bfea51c9f48d0d84e527ffe4c8eb0e25 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 13 Oct 2019 18:25:49 +0300 Subject: Improve meson.build files - meson should now properly create OpenSSL signing key and hexdump before trying to compile plugin loader --- lib/pluginloader/meson.build | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'lib/pluginloader/meson.build') diff --git a/lib/pluginloader/meson.build b/lib/pluginloader/meson.build index 9334f24..1b68c8c 100644 --- a/lib/pluginloader/meson.build +++ b/lib/pluginloader/meson.build @@ -1,15 +1,14 @@ -dep_openssl = dependency('openssl') +python = import('python') +python3 = python.find_installation('python3') -openssl_exe = find_program('openssl', required: true) -sh = find_program('sh') -hexdump = meson.source_root() / 'tools/hexdump.py' +private_pem = meson.build_root() / get_option('ssl_private_pem') +public_pem = meson.build_root() / get_option('ssl_public_pem') -publickey = custom_target('publicKey.h', +publicKey_h = custom_target('publicKey_h', output: 'publicKey.h', - build_by_default: true, - command: [sh, '-c', - openssl_exe.path() + ' genrsa -out privateKey.pem 4096; ' + openssl_exe.path() + ' rsa -in privateKey.pem -pubout -out publicKey.pem; python3 ' + hexdump + ' --name=publicKey_pem publicKey.pem --output=@OUTPUT@' - ] + command: [python3, meson.source_root() / 'tools/ssl-keygen.py', + '--private=' + private_pem, '--public=' + public_pem, + '--output=@OUTPUT@', '--array-name=publicKey_pem'] ) pluginloader_moc = mod_qt5.preprocess( @@ -20,8 +19,8 @@ pluginloader_moc = mod_qt5.preprocess( dep_pluginloader = declare_dependency( include_directories: include_directories('.'), link_with: static_library('plugin', - ['pluginloader.cpp', pluginloader_moc], + ['pluginloader.cpp', pluginloader_moc, publicKey_h], include_directories: include_directories('.'), - dependencies: [dep_qt5, dep_openssl, dep_genheaders]) + dependencies: [dep_qt5]) ) -- cgit v1.2.1