From f081b49e83162a9dd564ff7cd2f4c5bac583e4c1 Mon Sep 17 00:00:00 2001 From: Martin Mory Date: Fri, 22 Oct 2021 17:28:52 +0200 Subject: [PATCH 1/2] fix phasar install destination to avoid messing with system-widely installed libs --- CMakeLists.txt | 7 ++++++- cmake/phasar_macros.cmake | 12 ++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1189e5fe66..4665d392ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,8 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) +include(GNUInstallDirs) + set_property(GLOBAL PROPERTY TARGET_MESSAGES OFF) if (NOT CMAKE_BUILD_TYPE) @@ -99,7 +101,10 @@ include_directories( ${PHASAR_SRC_DIR}/include ) -set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + +set(PHASAR_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}/phasar) + +set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${PHASAR_INSTALL_LIBDIR}) set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) if (LLVM_ENABLE_LIBCXX) diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake index 369297d747..6b70abc6f2 100644 --- a/cmake/phasar_macros.cmake +++ b/cmake/phasar_macros.cmake @@ -193,19 +193,19 @@ macro(add_phasar_library name) if(PHASAR_IN_TREE) install(TARGETS ${name} EXPORT LLVMExports - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + LIBRARY DESTINATION ${PHASAR_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${PHASAR_INSTALL_LIBDIR}) else() install(TARGETS ${name} EXPORT phasarTargets - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + LIBRARY DESTINATION ${PHASAR_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${PHASAR_INSTALL_LIBDIR}) install(TARGETS ${name} EXPORT ${name}-targets COMPONENT ${component_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/phasar - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + LIBRARY DESTINATION ${PHASAR_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${PHASAR_INSTALL_LIBDIR}) install(EXPORT ${name}-targets FILE ${name}-targets.cmake NAMESPACE phasar:: From a3c597fd1f038122eec31c441c2ea8b4e345e7f5 Mon Sep 17 00:00:00 2001 From: Martin Mory Date: Tue, 2 Nov 2021 20:42:24 +0100 Subject: [PATCH 2/2] For in tree builds we need to put phasar libs along side the llvm libs, otherwise, llvm/clang tools that are linked against phasar cannot find them. Co-authored-by: Florian Sattler --- cmake/phasar_macros.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake index 6b70abc6f2..178ba26f08 100644 --- a/cmake/phasar_macros.cmake +++ b/cmake/phasar_macros.cmake @@ -193,8 +193,8 @@ macro(add_phasar_library name) if(PHASAR_IN_TREE) install(TARGETS ${name} EXPORT LLVMExports - LIBRARY DESTINATION ${PHASAR_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${PHASAR_INSTALL_LIBDIR}) + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) else() install(TARGETS ${name} EXPORT phasarTargets