diff options
author | Harmen Stoppels <me@harmenstoppels.nl> | 2024-06-24 15:17:19 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-06-24 15:32:20 (GMT) |
commit | ccbbf645522f87b38ddcaa68058f621a892e8b9f (patch) | |
tree | 288533be4c3a41d4015be55854f7d8eff772563a | |
parent | 66b5b5e326b6c64ccf12ab2634ebd1f03663d6c9 (diff) | |
download | CMake-ccbbf645522f87b38ddcaa68058f621a892e8b9f.zip CMake-ccbbf645522f87b38ddcaa68058f621a892e8b9f.tar.gz CMake-ccbbf645522f87b38ddcaa68058f621a892e8b9f.tar.bz2 |
Tests/RunCMake/file-RPATH: Prepare to cover statically linked binaries
-rw-r--r-- | Tests/RunCMake/file-RPATH/Common.cmake | 19 | ||||
-rw-r--r-- | Tests/RunCMake/file-RPATH/ELF.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/file-RPATH/XCOFF.cmake | 2 |
3 files changed, 16 insertions, 7 deletions
diff --git a/Tests/RunCMake/file-RPATH/Common.cmake b/Tests/RunCMake/file-RPATH/Common.cmake index 7034aad..d6d3eeb 100644 --- a/Tests/RunCMake/file-RPATH/Common.cmake +++ b/Tests/RunCMake/file-RPATH/Common.cmake @@ -1,12 +1,16 @@ # Prepare binaries on which to operate. set(in "${CMAKE_CURRENT_LIST_DIR}/${format}") set(out "${CMAKE_CURRENT_BINARY_DIR}") -foreach(f ${names}) +foreach(f ${dynamic}) file(COPY ${in}/${f} DESTINATION ${out} NO_SOURCE_PERMISSIONS) - list(APPEND files "${out}/${f}") + list(APPEND dynamic_files "${out}/${f}") +endforeach() +foreach(f ${static}) + file(COPY ${in}/${f} DESTINATION ${out} NO_SOURCE_PERMISSIONS) + list(APPEND static_files "${out}/${f}") endforeach() -foreach(f ${files}) +foreach(f ${dynamic_files}) # Check for the initial RPATH. file(RPATH_CHECK FILE "${f}" RPATH "/sample/rpath") if(NOT EXISTS "${f}") @@ -65,11 +69,11 @@ endforeach() # TODO Implement RPATH_SET in XCOFF. if(format STREQUAL "ELF") - foreach(f ${names}) + foreach(f ${dynamic}) file(COPY ${in}/${f} DESTINATION ${out} NO_SOURCE_PERMISSIONS) endforeach() - foreach(f ${files}) + foreach(f ${dynamic_files}) # Set the RPATH. file(RPATH_SET FILE "${f}" NEW_RPATH "/new/rpath") @@ -99,3 +103,8 @@ if(format STREQUAL "ELF") endif() endforeach() endif() + +# Verify that modifying rpaths on a static library is a no-op +foreach(f ${static_files}) + file(RPATH_CHANGE FILE "${f}" OLD_RPATH "/rpath/foo" NEW_RPATH "/rpath/bar") +endforeach() diff --git a/Tests/RunCMake/file-RPATH/ELF.cmake b/Tests/RunCMake/file-RPATH/ELF.cmake index 558b2e2..0f445e8 100644 --- a/Tests/RunCMake/file-RPATH/ELF.cmake +++ b/Tests/RunCMake/file-RPATH/ELF.cmake @@ -1,4 +1,4 @@ -set(names +set(dynamic elf32lsb.bin elf32msb.bin elf64lsb.bin diff --git a/Tests/RunCMake/file-RPATH/XCOFF.cmake b/Tests/RunCMake/file-RPATH/XCOFF.cmake index b570920..f7464c2 100644 --- a/Tests/RunCMake/file-RPATH/XCOFF.cmake +++ b/Tests/RunCMake/file-RPATH/XCOFF.cmake @@ -1,4 +1,4 @@ -set(names +set(dynamic xcoff32.bin xcoff64.bin ) |