Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:PowerPC
google-or-tools
0001-Only-add-relevant-directories-to-sample-RU...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Only-add-relevant-directories-to-sample-RUNPATHs.patch of Package google-or-tools
From de6b324352978ee2333bce0c3cd551659bfe7529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de> Date: Fri, 15 Jul 2022 14:29:51 +0200 Subject: [PATCH 1/3] Only add relevant directories to sample RUNPATHs The old code added several irrelevant, duplicate or even non-existing directories to the RUNPATHs of the samples. Calculate the actual relative path between binary and library install directory (using the absolute paths, CMAKE_INSTALL_LIBDIR may be either relative or absolute), and set it as target property. --- cmake/cpp.cmake | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/cmake/cpp.cmake b/cmake/cpp.cmake index daf6ba7eb8..c9ea383852 100644 --- a/cmake/cpp.cmake +++ b/cmake/cpp.cmake @@ -440,20 +440,23 @@ function(add_cxx_sample FILE_NAME) get_filename_component(COMPONENT_DIR ${SAMPLE_DIR} DIRECTORY) get_filename_component(COMPONENT_NAME ${COMPONENT_DIR} NAME) - if(APPLE) - set(CMAKE_INSTALL_RPATH - "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") - elseif(UNIX) - set(CMAKE_INSTALL_RPATH - "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN/../lib64:$ORIGIN/../lib:$ORIGIN") - endif() - add_executable(${SAMPLE_NAME} ${FILE_NAME}) target_include_directories(${SAMPLE_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_features(${SAMPLE_NAME} PRIVATE cxx_std_17) target_link_libraries(${SAMPLE_NAME} PRIVATE ${PROJECT_NAMESPACE}::ortools) include(GNUInstallDirs) + if(APPLE) + set_target_properties(${SAMPLE_NAME} PROPERTIES INSTALL_RPATH + "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") + elseif(UNIX) + cmake_path(RELATIVE_PATH CMAKE_INSTALL_FULL_LIBDIR + BASE_DIRECTORY ${CMAKE_INSTALL_FULL_BINDIR} + OUTPUT_VARIABLE libdir_relative_path) + set_target_properties(${SAMPLE_NAME} PROPERTIES + INSTALL_RPATH "$ORIGIN/${libdir_relative_path}") + endif() + install(TARGETS ${SAMPLE_NAME}) if(BUILD_TESTING) @@ -474,19 +477,23 @@ function(add_cxx_example FILE_NAME) get_filename_component(COMPONENT_DIR ${FILE_NAME} DIRECTORY) get_filename_component(COMPONENT_NAME ${COMPONENT_DIR} NAME) - if(APPLE) - set(CMAKE_INSTALL_RPATH - "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") - elseif(UNIX) - set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN/../lib64:$ORIGIN/../lib:$ORIGIN") - endif() - add_executable(${EXAMPLE_NAME} ${FILE_NAME}) target_include_directories(${EXAMPLE_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_features(${EXAMPLE_NAME} PRIVATE cxx_std_17) target_link_libraries(${EXAMPLE_NAME} PRIVATE ${PROJECT_NAMESPACE}::ortools) include(GNUInstallDirs) + if(APPLE) + set_target_properties(${EXAMPLE_NAME} PROPERTIES INSTALL_RPATH + "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") + elseif(UNIX) + cmake_path(RELATIVE_PATH CMAKE_INSTALL_FULL_LIBDIR + BASE_DIRECTORY ${CMAKE_INSTALL_FULL_BINDIR} + OUTPUT_VARIABLE libdir_relative_path) + set_target_properties(${EXAMPLE_NAME} PROPERTIES + INSTALL_RPATH "$ORIGIN/${libdir_relative_path}") + endif() + install(TARGETS ${EXAMPLE_NAME}) if(BUILD_TESTING) -- 2.40.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor