From 0ae520199d0e0523f4f0aa847b7567d72ae9553d Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Mon, 8 Jun 2020 15:29:40 +0100 Subject: Introduce function ecm_install_configured_file Summary: This, as the name suggests, configures a file and installs it. It's not very complicated but it's a repeated pattern in plasma that gets quite messy dealing with temporary files. Test Plan: Used in a project Reviewers: #build_system Subscribers: apol, kossebau, pino, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D28355 --- tests/ECMConfiguredInstallTest/check_tree.cmake.in | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/ECMConfiguredInstallTest/check_tree.cmake.in (limited to 'tests/ECMConfiguredInstallTest/check_tree.cmake.in') diff --git a/tests/ECMConfiguredInstallTest/check_tree.cmake.in b/tests/ECMConfiguredInstallTest/check_tree.cmake.in new file mode 100644 index 00000000..c5fe51c9 --- /dev/null +++ b/tests/ECMConfiguredInstallTest/check_tree.cmake.in @@ -0,0 +1,20 @@ +set(EXPECTED "@CMAKE_CURRENT_SOURCE_DIR@/expected") +set(ACTUAL "@CMAKE_INSTALL_PREFIX@") + +# Compares files in two directories, emits a fatal error if the top level files are different +# Takes a directory of expected files, and a directory of output files +function(compare_dirs expected output ) + file(GLOB files "${expected}/*") + foreach(file ${files}) + get_filename_component(name ${file} NAME) + + execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files ${file} "${output}/${name}" + RESULT_VARIABLE test_result + ) + If (NOT test_result EQUAL 0) + message(FATAL_ERROR "Test failed: ${file} doesn't match ${output}/${name}!") + endif() + endforeach() +endfunction() + +compare_dirs(${EXPECTED} ${ACTUAL}/test ) -- cgit v1.2.1