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/about/aboutdialog.cpp | 1 - lib/about/meson.build | 4 ++-- lib/configuration/meson.build | 5 ++--- lib/pluginloader/meson.build | 21 ++++++++++----------- 4 files changed, 14 insertions(+), 17 deletions(-) (limited to 'lib') diff --git a/lib/about/aboutdialog.cpp b/lib/about/aboutdialog.cpp index 452d16f..1ca493e 100644 --- a/lib/about/aboutdialog.cpp +++ b/lib/about/aboutdialog.cpp @@ -9,7 +9,6 @@ #include "aboutdialog.h" #include "ui_aboutdialog.h" #include -#include "config.h" // compiler // clang also defines __GNUC__, so we need to check for clang first diff --git a/lib/about/meson.build b/lib/about/meson.build index e6228c4..531355d 100644 --- a/lib/about/meson.build +++ b/lib/about/meson.build @@ -7,6 +7,6 @@ about_moc = mod_qt5.preprocess( dep_about = declare_dependency( include_directories: include_directories('.'), link_with: static_library('about', - ['aboutdialog.cpp', 'aboutplugin.cpp', about_moc], - dependencies: [dep_qt5, dep_genheaders]) + ['aboutdialog.cpp', 'aboutplugin.cpp', about_moc, version_h], + dependencies: [dep_qt5]) ) diff --git a/lib/configuration/meson.build b/lib/configuration/meson.build index 7234bf0..57bafbc 100644 --- a/lib/configuration/meson.build +++ b/lib/configuration/meson.build @@ -1,14 +1,13 @@ -configuration_inc = include_directories('.') configuration_moc = mod_qt5.preprocess( moc_headers: ['configuration.h'], dependencies: dep_qt5 ) configuration_lib = static_library('configuration', ['commandline.cpp', 'configuration.cpp', configuration_moc], - dependencies: [dep_boost, dep_qt5, dep_genheaders] + dependencies: [dep_boost, dep_qt5, autogen_config] ) dep_configuration = declare_dependency( - include_directories: configuration_inc, + include_directories: include_directories('.'), link_with: configuration_lib ) 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