From 117ed93d37fbde90f5decb7292ed0c42e5e39220 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 2 Aug 2017 21:57:34 -0600 Subject: One copy of the gpg helpers is enough. --- cmake/modules/generate_crypto_test_wrapper.cmake | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 cmake/modules/generate_crypto_test_wrapper.cmake (limited to 'cmake/modules/generate_crypto_test_wrapper.cmake') diff --git a/cmake/modules/generate_crypto_test_wrapper.cmake b/cmake/modules/generate_crypto_test_wrapper.cmake new file mode 100644 index 00000000..e1412f37 --- /dev/null +++ b/cmake/modules/generate_crypto_test_wrapper.cmake @@ -0,0 +1,45 @@ +# Copyright (c) 2006, Alexander Neundorf, +# Copyright (c) 2013, Sandro Knauß +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +if (UNIX) + +file(WRITE "${_filename}" +"#!/bin/sh +# created by cmake, don't edit, changes will be lost + +# don't mess with a gpg-agent already running on the system +unset GPG_AGENT_INFO + +${_library_path_variable}=${_ld_library_path}\${${_library_path_variable}:+:\$${_library_path_variable}} GNUPGHOME=${_gnupghome} gpg-agent --daemon \"${_executable}\" \"$@\" +_result=$? +_pid=`echo GETINFO pid | GNUPGHOME=${_gnupghome} gpg-connect-agent | grep 'D' | cut -d' ' -f2` +if [ ! -z \"\$_pid\" ]; then + echo \"Waiting for gpg-agent to terminate (PID: $_pid)...\" + while kill -0 \"\$_pid\"; do + sleep 1 + done +fi +exit \$_result +") + +# make it executable +# since this is only executed on UNIX, it is safe to call chmod +exec_program(chmod ARGS ug+x \"${_filename}\" OUTPUT_VARIABLE _dummy ) + +else (UNIX) + +file(TO_NATIVE_PATH "${_ld_library_path}" win_path) +file(TO_NATIVE_PATH "${_gnupghome}" win_gnupghome) + +file(WRITE "${_filename}" +" +set PATH=${win_path};$ENV{PATH} +set GNUPGHOME=${win_gnupghome};$ENV{GNUPGHOME} +gpg-agent --daemon \"${_executable}\" %* +") + +endif (UNIX) -- cgit v1.2.3