Warning, /pim/mimetreeparser/cmake/modules/kdepim_add_gpg_crypto_test.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2013 Sandro Knauß <mail@sandroknauss.de> 0002 # 0003 # SPDX-License-Identifier: BSD-3-Clause 0004 0005 set(GNUPGHOME ${CMAKE_BINARY_DIR}/autotests/gnupg_home) 0006 add_definitions(-DGNUPGHOME="${GNUPGHOME}") 0007 0008 macro (ADD_GPG_CRYPTO_TEST _target _testname) 0009 if (UNIX) 0010 if (APPLE) 0011 set(_library_path_variable "DYLD_LIBRARY_PATH") 0012 elseif (CYGWIN) 0013 set(_library_path_variable "PATH") 0014 else (APPLE) 0015 set(_library_path_variable "LD_LIBRARY_PATH") 0016 endif (APPLE) 0017 0018 if (APPLE) 0019 # DYLD_LIBRARY_PATH does not work like LD_LIBRARY_PATH 0020 # OSX already has the RPATH in libraries and executables, putting runtime directories in 0021 # DYLD_LIBRARY_PATH actually breaks things 0022 set(_ld_library_path "${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/") 0023 else (APPLE) 0024 set(_ld_library_path "${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/:${LIB_INSTALL_DIR}:${QT_LIBRARY_DIR}") 0025 endif (APPLE) 0026 set(_executable "$<TARGET_FILE:${_target}>") 0027 0028 # use add_custom_target() to have the sh-wrapper generated during build time instead of cmake time 0029 add_custom_command(TARGET ${_target} POST_BUILD 0030 COMMAND ${CMAKE_COMMAND} 0031 -D_filename=${_executable}.shell -D_library_path_variable=${_library_path_variable} 0032 -D_ld_library_path="${_ld_library_path}" -D_executable=$<TARGET_FILE:${_target}> 0033 -D_gnupghome="${GNUPGHOME}" 0034 -P ${CMAKE_SOURCE_DIR}/cmake/modules/kdepim_generate_crypto_test_wrapper.cmake 0035 ) 0036 0037 set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${_executable}.shell" ) 0038 add_test(NAME ${_testname} COMMAND ${_executable}.shell) 0039 0040 else (UNIX) 0041 # under windows, set the property WRAPPER_SCRIPT just to the name of the executable 0042 # maybe later this will change to a generated batch file (for setting the PATH so that the Qt libs are found) 0043 set(_ld_library_path "${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}\;${LIB_INSTALL_DIR}\;${QT_LIBRARY_DIR}") 0044 set(_executable "$<TARGET_FILE:${_target}>") 0045 0046 # use add_custom_target() to have the batch-file-wrapper generated during build time instead of cmake time 0047 add_custom_command(TARGET ${_target} POST_BUILD 0048 COMMAND ${CMAKE_COMMAND} 0049 -D_filename="${_executable}.bat" 0050 -D_ld_library_path="${_ld_library_path}" -D_executable="${_executable}" 0051 -D_gnupghome="${GNUPGHOME}" 0052 -P ${CMAKE_SOURCE_DIR}/cmake/modules/kdepim_generate_crypto_test_wrapper.cmake 0053 ) 0054 0055 add_test(NAME ${_testname} COMMAND ${_executable}.bat) 0056 0057 endif (UNIX) 0058 0059 # can't be parallelized due to gpg-agent 0060 set_tests_properties(${_testname} PROPERTIES RUN_SERIAL TRUE) 0061 endmacro (ADD_GPG_CRYPTO_TEST) 0062 0063 macro (ADD_GPG_CRYPTO_AKONADI_TEST _target _testname) 0064 set(_executable "$<TARGET_FILE:${_target}>") 0065 0066 if (UNIX) 0067 if (APPLE) 0068 set(_library_path_variable "DYLD_LIBRARY_PATH") 0069 elseif (CYGWIN) 0070 set(_library_path_variable "PATH") 0071 else (APPLE) 0072 set(_library_path_variable "LD_LIBRARY_PATH") 0073 endif (APPLE) 0074 0075 if (APPLE) 0076 # DYLD_LIBRARY_PATH does not work like LD_LIBRARY_PATH 0077 # OSX already has the RPATH in libraries and executables, putting runtime directories in 0078 # DYLD_LIBRARY_PATH actually breaks things 0079 set(_ld_library_path "${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/") 0080 else (APPLE) 0081 set(_ld_library_path "${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/:${LIB_INSTALL_DIR}:${QT_LIBRARY_DIR}") 0082 endif (APPLE) 0083 0084 set(_posix "shell") 0085 set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${_executable}.${_posix}" ) 0086 0087 # use add_custom_target() to have the sh-wrapper generated during build time instead of cmake time 0088 add_custom_command(TARGET ${_target} POST_BUILD 0089 COMMAND ${CMAKE_COMMAND} 0090 -D_filename=${_executable}.${_posix} -D_library_path_variable=${_library_path_variable} 0091 -D_ld_library_path="${_ld_library_path}" -D_executable="${_executable}" 0092 -D_gnupghome="${GNUPGHOME}" 0093 -P ${CMAKE_SOURCE_DIR}/cmake/modules/kdepim_generate_crypto_test_wrapper.cmake 0094 ) 0095 0096 0097 else (UNIX) 0098 # under windows, set the property WRAPPER_SCRIPT just to the name of the executable 0099 # maybe later this will change to a generated batch file (for setting the PATH so that the Qt libs are found) 0100 set(_ld_library_path "${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}\;${LIB_INSTALL_DIR}\;${QT_LIBRARY_DIR}") 0101 set(_posix "bat") 0102 0103 # use add_custom_target() to have the batch-file-wrapper generated during build time instead of cmake time 0104 add_custom_command(TARGET ${_target} POST_BUILD 0105 COMMAND ${CMAKE_COMMAND} 0106 -D_filename="${_executable}.${_posix}" 0107 -D_ld_library_path="${_ld_library_path}" -D_executable="${_executable}" 0108 -D_gnupghome="${GNUPGHOME}" 0109 -P ${CMAKE_SOURCE_DIR}/cmake/modules/kdepim_generate_crypto_test_wrapper.cmake 0110 ) 0111 0112 endif () 0113 0114 if (NOT DEFINED _testrunner) 0115 find_program(_testrunner NAMES akonaditest akonaditest.exe) 0116 if (NOT _testrunner) 0117 message(WARNING "Could not locate akonaditest executable, isolated Akonadi tests will fail!") 0118 endif() 0119 endif() 0120 0121 function(_defineTest name backend) 0122 set(backends ${ARGN}) 0123 if (NOT DEFINED AKONADI_RUN_${backend}_ISOLATED_TESTS OR AKONADI_RUN_${backend}_ISOLATED_TESTS) 0124 LIST(LENGTH "${backends}" backendsLen) 0125 string(TOLOWER ${backend} lcbackend) 0126 LIST(FIND "${backends}" ${lcbackend} enableBackend) 0127 if (${backendsLen} EQUAL 0 OR ${enableBackend} GREATER -1) 0128 set(configFile ${CMAKE_CURRENT_SOURCE_DIR}/unittestenv/config.xml) 0129 if (AKONADI_TESTS_XML) 0130 set(extraOptions -xml -o "${TEST_RESULT_OUTPUT_PATH}/${lcbackend}-${name}.xml") 0131 endif() 0132 set(_test_name akonadi-${lcbackend}-${name}) 0133 add_test(NAME ${_test_name} 0134 COMMAND ${_testrunner} -c "${configFile}" -b ${lcbackend} 0135 "${_executable}.${_posix}" ${extraOptions} 0136 ) 0137 # Taken from ECMAddTests.cmake 0138 if (CMAKE_LIBRARY_OUTPUT_DIRECTORY) 0139 if(CMAKE_HOST_SYSTEM MATCHES "Windows") 0140 set(PATHSEP ";") 0141 else() # e.g. Linux 0142 set(PATHSEP ":") 0143 endif() 0144 set(_plugin_path $ENV{QT_PLUGIN_PATH}) 0145 set(_test_env 0146 QT_PLUGIN_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}${PATHSEP}$ENV{QT_PLUGIN_PATH} 0147 LD_LIBRARY_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}${PATHSEP}$ENV{LD_LIBRARY_PATH} 0148 ) 0149 set_tests_properties(${_test_name} PROPERTIES ENVIRONMENT "${_test_env}") 0150 endif() 0151 set_tests_properties(${_test_name} PROPERTIES RUN_SERIAL TRUE) # can't be parallelized due to gpg-agent 0152 endif() 0153 endif() 0154 endfunction() 0155 0156 find_program(MYSQLD_EXECUTABLE mysqld /usr/sbin /usr/local/sbin /usr/libexec /usr/local/libexec /opt/mysql/libexec /usr/mysql/bin) 0157 if (MYSQLD_EXECUTABLE AND NOT WIN32) 0158 _defineTest(${_testname} "MYSQL" ${CONFIG_BACKENDS}) 0159 endif() 0160 0161 find_program(POSTGRES_EXECUTABLE postgres) 0162 if (POSTGRES_EXECUTABLE AND NOT WIN32) 0163 _defineTest(${_testname} "PGSQL" ${CONFIG_BACKENDS}) 0164 endif() 0165 0166 _defineTest(${_testname} "SQLITE" ${CONFIG_BACKENDS}) 0167 endmacro (ADD_GPG_CRYPTO_AKONADI_TEST)