diff --git a/ortools/linear_solver/CMakeLists.txt b/ortools/linear_solver/CMakeLists.txt index f0ccb04182b..c5b54cae0fb 100644 --- a/ortools/linear_solver/CMakeLists.txt +++ b/ortools/linear_solver/CMakeLists.txt @@ -48,19 +48,22 @@ target_link_libraries(${NAME} PRIVATE #add_library(${PROJECT_NAME}::linear_solver ALIAS ${NAME}) # solve -include(GNUInstallDirs) -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(solve) target_sources(solve PRIVATE "solve.cc") target_include_directories(solve PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_features(solve PRIVATE cxx_std_17) target_link_libraries(solve PRIVATE ${PROJECT_NAMESPACE}::ortools) +include(GNUInstallDirs) +if(APPLE) + set_target_properties(solve 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(solve PROPERTIES + INSTALL_RPATH "$ORIGIN/${libdir_relative_path}") +endif() + install(TARGETS solve) diff --git a/ortools/sat/CMakeLists.txt b/ortools/sat/CMakeLists.txt index 19bd83f7388..aec4bec3f31 100644 --- a/ortools/sat/CMakeLists.txt +++ b/ortools/sat/CMakeLists.txt @@ -40,19 +40,22 @@ target_link_libraries(${NAME} PRIVATE #add_library(${PROJECT_NAME}::sat ALIAS ${NAME}) # Sat Runner -include(GNUInstallDirs) -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(sat_runner) target_sources(sat_runner PRIVATE "sat_runner.cc") target_include_directories(sat_runner PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_features(sat_runner PRIVATE cxx_std_17) target_link_libraries(sat_runner PRIVATE ${PROJECT_NAMESPACE}::ortools) +include(GNUInstallDirs) +if(APPLE) + set_target_properties(sat_runner 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(sat_runner PROPERTIES + INSTALL_RPATH "$ORIGIN/${libdir_relative_path}") +endif() + install(TARGETS sat_runner)