From 5a21557b339e389d6988895c6322562ff531e5d7 Mon Sep 17 00:00:00 2001 From: Matthew Hanna Date: Tue, 17 May 2016 11:53:27 -0400 Subject: [PATCH] AIX,HP: Allow user to override the default runtime path (libpath) The `CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH` is used by CMake to always append `-Wl,-blibpath:/usr/lib:/lib` to the link line. This is needed by default on these platforms but needs to be overridden in some use cases (e.g. an environment in which one maintains versioned shared libraries). Change our logic to set this value only if it not already set by the user, project, or toolchain file. --- Modules/Platform/AIX.cmake | 4 +++- Modules/Platform/HP-UX.cmake | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Modules/Platform/AIX.cmake b/Modules/Platform/AIX.cmake index 58c648319..551a995aa 100644 --- a/Modules/Platform/AIX.cmake +++ b/Modules/Platform/AIX.cmake @@ -8,7 +8,9 @@ set(CMAKE_DL_LIBS "-lld") # -Wl,-blibpath:/usr/lib:/lib whether RPATH support is on or not. # When our own RPATH is to be added it may be inserted before the # "always" paths. -set(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib /lib) +if(NOT DEFINED CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH) + set(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib /lib) +endif() # Files named "libfoo.a" may actually be shared libraries. set_property(GLOBAL PROPERTY TARGET_ARCHIVES_MAY_BE_SHARED_LIBS 1) diff --git a/Modules/Platform/HP-UX.cmake b/Modules/Platform/HP-UX.cmake index 88932ad67..9572a7ebb 100644 --- a/Modules/Platform/HP-UX.cmake +++ b/Modules/Platform/HP-UX.cmake @@ -1,4 +1,6 @@ -set(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib) +if(NOT DEFINED CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH) + set(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib) +endif() if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "ia64") set(CMAKE_SHARED_LIBRARY_SUFFIX ".sl") # .so