diff options
author | Stefan Granitz <stefan.graenitz@gmail.com> | 2018-12-07 09:12:54 +0000 |
---|---|---|
committer | Stefan Granitz <stefan.graenitz@gmail.com> | 2018-12-07 09:12:54 +0000 |
commit | d765108cf19c5d12dd35ae240a188a0cbd7dec9b (patch) | |
tree | eb00e66da356359f7dd2eb0ac91d4479614d6a7b /llvm | |
parent | 9606d58a5faec6bae872db4981f08e24573f803a (diff) | |
download | bcm5719-llvm-d765108cf19c5d12dd35ae240a188a0cbd7dec9b.tar.gz bcm5719-llvm-d765108cf19c5d12dd35ae240a188a0cbd7dec9b.zip |
[CMake] Add support for NO_INSTALL_RPATH argument in llvm_add_library()
Summary:
Allow clients to suppress setup of default RPATHs in designated library targets. This is used in LLDB when emitting liblldb as a framework bundle, which itself doesn't load further RPATH-dependent libraries.
This follows the approach in add_llvm_executable().
Reviewers: aprantl, JDevlieghere, davide, friss
Reviewed By: aprantl
Subscribers: mgorny, lldb-commits, llvm-commits, #lldb
Differential Revision: https://reviews.llvm.org/D55316
llvm-svn: 348573
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/cmake/modules/AddLLVM.cmake | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index c68ec5cbb80..e124e29b983 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -372,12 +372,14 @@ endfunction(set_windows_version_resource_properties) # May specify header files for IDE generators. # SONAME # Should set SONAME link flags and create symlinks +# NO_INSTALL_RPATH +# Suppress default RPATH settings in shared libraries. # PLUGIN_TOOL # The tool (i.e. cmake target) that this plugin will link against # ) function(llvm_add_library name) cmake_parse_arguments(ARG - "MODULE;SHARED;STATIC;OBJECT;DISABLE_LLVM_LINK_LLVM_DYLIB;SONAME" + "MODULE;SHARED;STATIC;OBJECT;DISABLE_LLVM_LINK_LLVM_DYLIB;SONAME;NO_INSTALL_RPATH" "OUTPUT_NAME;PLUGIN_TOOL" "ADDITIONAL_HEADERS;DEPENDS;LINK_COMPONENTS;LINK_LIBS;OBJLIBS" ${ARGN}) @@ -448,17 +450,19 @@ function(llvm_add_library name) if(ARG_MODULE) add_library(${name} MODULE ${ALL_FILES}) - llvm_setup_rpath(${name}) elseif(ARG_SHARED) add_windows_version_resource_file(ALL_FILES ${ALL_FILES}) add_library(${name} SHARED ${ALL_FILES}) - - llvm_setup_rpath(${name}) - else() add_library(${name} STATIC ${ALL_FILES}) endif() + if(NOT ARG_NO_INSTALL_RPATH) + if(ARG_MODULE OR ARG_SHARED) + llvm_setup_rpath(${name}) + endif() + endif() + setup_dependency_debugging(${name} ${LLVM_COMMON_DEPENDS}) if(DEFINED windows_resource_file) |