Fix broken RPATH for Linux binaries
- Due to recent changes, the RPATH was incorrectly set to, e.g.,
$$ORIGIN/../lib, with an extra$-- the correct RPATH being$ORIGIN/../lib.
A minimal CMake example to reproduce the problem:
cmake_minimum_required(VERSION 3.20)
project(testLinkFlags LANGUAGES CXX)
set(link_flags "-Wl,-rpath,\$ORIGIN/../lib")
add_executable(test1 test.cpp)
set_target_properties(test1 PROPERTIES LINK_FLAGS ${link_flags})
add_executable(test2 test.cpp)
target_link_options(test2 PRIVATE ${link_flags})
Compare the RUNPATH attributes of the resulting binaries, test1 and test2 (e.g., readelf -d test1).
[verified with CMake 3.25.1 under Debian 12].
See https://gitlab.kitware.com/cmake/cmake/-/issues/25049.
-
Python3_ROOT_DIRis explicitly used as a hint for CMake to find the Python platform, to avoid any vagueness.
Edited by Ammar Nejati