Alexander Neumann 2ac6ba173b
Refine rpath fixup to inspect already existing rpaths (#36056)
Reason:
```
-- Adjusting original rpath of: '/mnt/e/all/vcpkg/installed/x64-linux-release/lib/pkgconfig/../../lib/intel64/'
-- Fixed rpath in: '/mnt/e/all/vcpkg/packages/numpy_x64-linux-release/lib/python3.11/site-packages/numpy/linalg/lapack_lite.cpython-311-x86_64-linux-gnu.so' ('$ORIGIN:$ORIGIN/../../../../:$ORIGIN/../../../../intel64/')

```
needed `$ORIGIN/../../../../intel64/` in there which came from a pc file
via `-Wl,-rpath='${libdir}'`

---------

Co-authored-by: Osyotr <Osyotr@users.noreply.github.com>
2024-02-28 18:24:48 -08:00

64 lines
2.1 KiB
CMake

set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
# For each vcpkg_find_acquire_program(NAME).cmake script,
# there must be a literal call to vcpkg_find_acquire_program(NAME).cmake
set(variables BAZEL BISON FLEX GIT GN NINJA PERL PKGCONFIG PYTHON3 YASM)
vcpkg_find_acquire_program(BAZEL)
vcpkg_find_acquire_program(BISON)
vcpkg_find_acquire_program(FLEX)
vcpkg_find_acquire_program(GIT)
vcpkg_find_acquire_program(GN)
vcpkg_find_acquire_program(NINJA)
vcpkg_find_acquire_program(PERL)
vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_find_acquire_program(PYTHON3)
vcpkg_find_acquire_program(YASM)
if(NOT VCPKG_TARGET_IS_OSX)
# System python too old (3.9; meson needs 3.10)
list(APPEND variables MESON)
vcpkg_find_acquire_program(MESON)
endif()
if(VCPKG_HOST_IS_LINUX)
list(APPEND variables PATCHELF)
vcpkg_find_acquire_program(PATCHELF)
endif()
if(VCPKG_HOST_IS_WINDOWS)
list(APPEND variables 7Z ARIA2 CLANG DARK DOXYGEN GASPREPROCESSOR GO GPERF JOM NASM NUGET PYTHON2 RUBY SCONS SWIG)
vcpkg_find_acquire_program(7Z)
vcpkg_find_acquire_program(ARIA2)
vcpkg_find_acquire_program(CLANG)
vcpkg_find_acquire_program(DARK)
vcpkg_find_acquire_program(DOXYGEN)
vcpkg_find_acquire_program(GASPREPROCESSOR)
vcpkg_find_acquire_program(GO)
vcpkg_find_acquire_program(GPERF)
vcpkg_find_acquire_program(JOM)
vcpkg_find_acquire_program(NASM)
vcpkg_find_acquire_program(NUGET)
vcpkg_find_acquire_program(PYTHON2)
vcpkg_find_acquire_program(RUBY)
vcpkg_find_acquire_program(SCONS)
vcpkg_find_acquire_program(SWIG)
endif()
set(missing "")
foreach(variable IN LISTS variables)
set(var_contents "${${variable}}")
list(POP_BACK var_contents program)
if(NOT EXISTS "${program}")
list(APPEND missing "${variable}: ${program}")
endif()
list(POP_FRONT var_contents interpreter)
if(interpreter AND NOT EXISTS "${interpreter}")
list(APPEND missing "${variable} (interpreter): ${interpreter}")
endif()
endforeach()
if(missing)
list(JOIN missing "\n " missing)
message(FATAL_ERROR "The following programs do not exist:\n ${missing}")
endif()