diff --git a/CMakeLists.txt b/CMakeLists.txt index b5633e21c56a..f2f1035e9238 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,8 @@ set(CMAKE_MODULE_PATH # If we are not building as part of LLVM, build LLDB as a standalone project, # using LLVM as an external library. if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + include(GNUInstallDirs) + project(lldb) include(LLDBStandalone) diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake index 4ed5c647c5d2..89f96e710d55 100644 --- a/cmake/modules/AddLLDB.cmake +++ b/cmake/modules/AddLLDB.cmake @@ -107,13 +107,13 @@ function(add_lldb_library name) endif() if(PARAM_SHARED) - set(install_dest lib${LLVM_LIBDIR_SUFFIX}) + set(install_dest ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) if(PARAM_INSTALL_PREFIX) set(install_dest ${PARAM_INSTALL_PREFIX}) endif() # RUNTIME is relevant for DLL platforms, FRAMEWORK for macOS install(TARGETS ${name} COMPONENT ${name} - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${install_dest} ARCHIVE DESTINATION ${install_dest} FRAMEWORK DESTINATION ${install_dest}) diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake index 2fdf1502d055..37364341ff8b 100644 --- a/cmake/modules/LLDBConfig.cmake +++ b/cmake/modules/LLDBConfig.cmake @@ -225,7 +225,7 @@ include_directories(BEFORE if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) install(DIRECTORY include/ COMPONENT lldb-headers - DESTINATION include + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h" PATTERN ".cmake" EXCLUDE @@ -233,7 +233,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ COMPONENT lldb-headers - DESTINATION include + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h" PATTERN ".cmake" EXCLUDE diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt index 734167e51bc5..f95761b5df58 100644 --- a/tools/intel-features/CMakeLists.txt +++ b/tools/intel-features/CMakeLists.txt @@ -65,4 +65,4 @@ if (LLDB_ENABLE_PYTHON AND LLDB_BUILD_INTEL_PT) endif() install(TARGETS lldbIntelFeatures - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake index 752113b..010f187 100644 --- a/cmake/modules/LLDBStandalone.cmake +++ b/cmake/modules/LLDBStandalone.cmake @@ -62,7 +62,7 @@ endif() # They are used as destination of target generators. set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) -set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) +set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) if(WIN32 OR CYGWIN) # DLL platform -- put DLLs into bin. set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) diff --git a/CMakeLists.txt b/CMakeLists.txt index b5633e2..86e4738 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,7 +79,7 @@ if (LLDB_ENABLE_PYTHON) if(LLDB_BUILD_FRAMEWORK) set(lldb_python_target_dir "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/LLDB.framework/Resources/Python/lldb") else() - set(lldb_python_target_dir "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LLDB_PYTHON_RELATIVE_PATH}/lldb") + set(lldb_python_target_dir "${CMAKE_INSTALL_LIBDIR}/../${LLDB_PYTHON_RELATIVE_PATH}/lldb") endif() get_target_property(lldb_python_bindings_dir swig_wrapper_python BINARY_DIR) finish_swig_python("lldb-python" "${lldb_python_bindings_dir}" "${lldb_python_target_dir}") diff --git a/source/API/CMakeLists.txt b/source/API/CMakeLists.txt index b5633e2..86e4738 100644 --- a/source/API/CMakeLists.txt 2024-05-30 21:38:39.829955586 -0700 +++ b/source/API/CMakeLists.txt 2024-05-30 21:38:48.015673758 -0700 @@ -112,14 +112,6 @@ ${option_install_prefix} ) -# lib/pythonX.Y/dist-packages/lldb/_lldb.so is a symlink to lib/liblldb.so, -# which depends on lib/libLLVM*.so (BUILD_SHARED_LIBS) or lib/libLLVM-10git.so -# (LLVM_LINK_LLVM_DYLIB). Add an additional rpath $ORIGIN/../../../../lib so -# that _lldb.so can be loaded from Python. -if(LLDB_ENABLE_PYTHON AND (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) AND UNIX AND NOT APPLE) - set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "\$ORIGIN/../../../../lib${LLVM_LIBDIR_SUFFIX}") -endif() - if(Python3_RPATH) set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "${Python3_RPATH}") set_property(TARGET liblldb APPEND PROPERTY BUILD_RPATH "${Python3_RPATH}")