From 4108ab4be2307ef161467de46e4c35e8b086ce02 Mon Sep 17 00:00:00 2001 From: Kyle Edwards Date: Thu, 12 Jul 2018 10:04:37 -0400 Subject: Tests: Add test for install(DIRECTORY) with PATTERN and REGEX --- .../install/DIRECTORY-PATTERN-all-check.cmake | 1 + Tests/RunCMake/install/DIRECTORY-PATTERN.cmake | 36 ++++++++++++++++++++++ Tests/RunCMake/install/RunCMakeTest.cmake | 1 + Tests/RunCMake/install/pattern/empty.c | 0 Tests/RunCMake/install/pattern/empty.h | 0 Tests/RunCMake/install/pattern/empty.txt | 0 6 files changed, 38 insertions(+) create mode 100644 Tests/RunCMake/install/DIRECTORY-PATTERN-all-check.cmake create mode 100644 Tests/RunCMake/install/DIRECTORY-PATTERN.cmake create mode 100644 Tests/RunCMake/install/pattern/empty.c create mode 100644 Tests/RunCMake/install/pattern/empty.h create mode 100644 Tests/RunCMake/install/pattern/empty.txt diff --git a/Tests/RunCMake/install/DIRECTORY-PATTERN-all-check.cmake b/Tests/RunCMake/install/DIRECTORY-PATTERN-all-check.cmake new file mode 100644 index 0000000..7a20edc --- /dev/null +++ b/Tests/RunCMake/install/DIRECTORY-PATTERN-all-check.cmake @@ -0,0 +1 @@ +check_installed([[^dir1;dir1/empty\.c;dir1/empty\.h;dir2;dir2/pattern;dir2/pattern/empty\.txt;dir3;dir3/empty\.c;dir3/empty\.h;dir3/empty\.txt;dir4;dir4/empty\.c;dir4/empty\.h;dir4/empty\.txt;empty$]]) diff --git a/Tests/RunCMake/install/DIRECTORY-PATTERN.cmake b/Tests/RunCMake/install/DIRECTORY-PATTERN.cmake new file mode 100644 index 0000000..74d8043 --- /dev/null +++ b/Tests/RunCMake/install/DIRECTORY-PATTERN.cmake @@ -0,0 +1,36 @@ +install( + DIRECTORY pattern/ + DESTINATION dir1 + FILES_MATCHING + PATTERN "*.h" + REGEX "\\.c$" + ) + +# FIXME: If/when CMake gains a good way to read file permissions, we should +# check that these permissions were set correctly. +install( + DIRECTORY pattern + DESTINATION dir2 + FILE_PERMISSIONS OWNER_READ OWNER_WRITE + DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE + PATTERN "*.h" EXCLUDE + REGEX "\\.c$" EXCLUDE + ) + +install( + DIRECTORY pattern/ + DESTINATION dir3 + PATTERN "*.h" + PERMISSIONS OWNER_READ OWNER_WRITE + ) + +install( + DIRECTORY pattern/ + DESTINATION dir4 + USE_SOURCE_PERMISSIONS + ) + +install( + DIRECTORY + DESTINATION empty + ) diff --git a/Tests/RunCMake/install/RunCMakeTest.cmake b/Tests/RunCMake/install/RunCMakeTest.cmake index 31287c8..e05a1c0 100644 --- a/Tests/RunCMake/install/RunCMakeTest.cmake +++ b/Tests/RunCMake/install/RunCMakeTest.cmake @@ -85,6 +85,7 @@ run_install_test(Deprecated) run_install_test(PRE_POST_INSTALL_SCRIPT) run_install_test(SCRIPT) run_install_test(TARGETS-CONFIGURATIONS) +run_install_test(DIRECTORY-PATTERN) set(run_install_test_components 1) run_install_test(FILES-EXCLUDE_FROM_ALL) diff --git a/Tests/RunCMake/install/pattern/empty.c b/Tests/RunCMake/install/pattern/empty.c new file mode 100644 index 0000000..e69de29 diff --git a/Tests/RunCMake/install/pattern/empty.h b/Tests/RunCMake/install/pattern/empty.h new file mode 100644 index 0000000..e69de29 diff --git a/Tests/RunCMake/install/pattern/empty.txt b/Tests/RunCMake/install/pattern/empty.txt new file mode 100644 index 0000000..e69de29 -- cgit v0.12