[Lldb-commits] [lldb] [lldb/cmake] Use ADDITIONAL_HEADER(_DIR)?S (PR #142587)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Tue Jun 3 04:48:44 PDT 2025
https://github.com/labath created https://github.com/llvm/llvm-project/pull/142587
Replace (questionable) header globs with an explicit argument supported by llvm_add_library.
>From 450e714d9eb1a6f15a6b6065cf0c60f120948f65 Mon Sep 17 00:00:00 2001
From: Pavel Labath <pavel at labath.sk>
Date: Tue, 3 Jun 2025 13:45:04 +0200
Subject: [PATCH] [lldb/cmake] Use ADDITIONAL_HEADER(_DIR)?S
Replace (questionable) header globs with an explicit argument supported
by llvm_add_library.
---
lldb/CMakeLists.txt | 2 ++
lldb/cmake/modules/AddLLDB.cmake | 8 +-------
lldb/source/API/CMakeLists.txt | 2 ++
lldb/source/Breakpoint/CMakeLists.txt | 2 ++
lldb/source/Core/CMakeLists.txt | 4 +++-
lldb/source/DataFormatters/CMakeLists.txt | 2 ++
lldb/source/Expression/CMakeLists.txt | 5 +++--
lldb/source/Host/CMakeLists.txt | 2 ++
lldb/source/Host/macosx/objcxx/CMakeLists.txt | 2 ++
lldb/source/Initialization/CMakeLists.txt | 2 ++
lldb/source/Interpreter/CMakeLists.txt | 2 ++
lldb/source/Interpreter/Interfaces/CMakeLists.txt | 2 ++
lldb/source/Symbol/CMakeLists.txt | 2 ++
lldb/source/Target/CMakeLists.txt | 2 ++
lldb/source/Utility/CMakeLists.txt | 2 ++
lldb/source/ValueObject/CMakeLists.txt | 3 ++-
lldb/source/Version/CMakeLists.txt | 15 +++++++--------
17 files changed, 40 insertions(+), 19 deletions(-)
diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt
index 85ba4fde17418..2aaf75dd87bc3 100644
--- a/lldb/CMakeLists.txt
+++ b/lldb/CMakeLists.txt
@@ -38,6 +38,8 @@ endif()
include(LLDBConfig)
include(AddLLDB)
+set(LLDB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
# Define the LLDB_CONFIGURATION_xxx matching the build type.
if(uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" )
add_definitions(-DLLDB_CONFIGURATION_DEBUG)
diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake
index 3a9dcb79629b4..de9243b921745 100644
--- a/lldb/cmake/modules/AddLLDB.cmake
+++ b/lldb/cmake/modules/AddLLDB.cmake
@@ -71,12 +71,6 @@ function(add_lldb_library name)
set_property(GLOBAL APPEND PROPERTY LLDB_PLUGINS ${name})
endif()
- if (MSVC_IDE OR XCODE)
- string(REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
- list(GET split_path -1 dir)
- file(GLOB_RECURSE headers
- ../../include/lldb${dir}/*.h)
- endif()
if (PARAM_MODULE)
set(libkind MODULE)
elseif (PARAM_SHARED)
@@ -99,7 +93,7 @@ function(add_lldb_library name)
set(pass_NO_INSTALL_RPATH NO_INSTALL_RPATH)
endif()
- llvm_add_library(${name} ${libkind} ${headers}
+ llvm_add_library(${name} ${libkind}
${PARAM_UNPARSED_ARGUMENTS}
LINK_LIBS ${PARAM_LINK_LIBS}
DEPENDS ${PARAM_DEPENDS}
diff --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt
index 3bc569608e458..bddcf2f9922d0 100644
--- a/lldb/source/API/CMakeLists.txt
+++ b/lldb/source/API/CMakeLists.txt
@@ -125,6 +125,8 @@ add_lldb_library(liblldb SHARED ${option_framework}
${lldb_python_wrapper}
${lldb_lua_wrapper}
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/API
DEPENDS
lldb-sbapi-dwarf-enums
diff --git a/lldb/source/Breakpoint/CMakeLists.txt b/lldb/source/Breakpoint/CMakeLists.txt
index 6cd3c396a2c50..8ef3705750634 100644
--- a/lldb/source/Breakpoint/CMakeLists.txt
+++ b/lldb/source/Breakpoint/CMakeLists.txt
@@ -26,6 +26,8 @@ add_lldb_library(lldbBreakpoint NO_PLUGIN_DEPENDENCIES
WatchpointOptions.cpp
WatchpointResource.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Breakpoint
LINK_LIBS
lldbCore
lldbExpression
diff --git a/lldb/source/Core/CMakeLists.txt b/lldb/source/Core/CMakeLists.txt
index c4c442dcb2043..c95c40fb89eef 100644
--- a/lldb/source/Core/CMakeLists.txt
+++ b/lldb/source/Core/CMakeLists.txt
@@ -57,9 +57,11 @@ add_lldb_library(lldbCore NO_PLUGIN_DEPENDENCIES
ThreadedCommunication.cpp
UserSettingsController.cpp
Value.cpp
+
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Core
DEPENDS
clang-tablegen-targets
-
LINK_LIBS
lldbBreakpoint
lldbDataFormatters
diff --git a/lldb/source/DataFormatters/CMakeLists.txt b/lldb/source/DataFormatters/CMakeLists.txt
index 91b10ba9e0ac8..e2bc5b40d72c0 100644
--- a/lldb/source/DataFormatters/CMakeLists.txt
+++ b/lldb/source/DataFormatters/CMakeLists.txt
@@ -18,6 +18,8 @@ add_lldb_library(lldbDataFormatters NO_PLUGIN_DEPENDENCIES
ValueObjectPrinter.cpp
VectorType.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/DataFormatters
LINK_LIBS
lldbCore
lldbInterpreter
diff --git a/lldb/source/Expression/CMakeLists.txt b/lldb/source/Expression/CMakeLists.txt
index 9e1c341947e9d..3a18a83b9a5cd 100644
--- a/lldb/source/Expression/CMakeLists.txt
+++ b/lldb/source/Expression/CMakeLists.txt
@@ -17,9 +17,10 @@ add_lldb_library(lldbExpression NO_PLUGIN_DEPENDENCIES
UserExpression.cpp
UtilityFunction.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Expression
DEPENDS
- intrinsics_gen
-
+ intrinsics_gen
LINK_LIBS
lldbCore
lldbHost
diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt
index 90814b1bed4c8..4eb4040250dee 100644
--- a/lldb/source/Host/CMakeLists.txt
+++ b/lldb/source/Host/CMakeLists.txt
@@ -176,6 +176,8 @@ endif()
add_lldb_library(lldbHost NO_PLUGIN_DEPENDENCIES
${HOST_SOURCES}
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Host
LINK_LIBS
lldbUtility
${EXTRA_LIBS}
diff --git a/lldb/source/Host/macosx/objcxx/CMakeLists.txt b/lldb/source/Host/macosx/objcxx/CMakeLists.txt
index cda8269ca9efd..18f894cb8b7e2 100644
--- a/lldb/source/Host/macosx/objcxx/CMakeLists.txt
+++ b/lldb/source/Host/macosx/objcxx/CMakeLists.txt
@@ -8,6 +8,8 @@ add_lldb_library(lldbHostMacOSXObjCXX NO_PLUGIN_DEPENDENCIES
HostThreadMacOSX.mm
MemoryMonitorMacOSX.mm
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Host/macosx/objcxx
LINK_LIBS
lldbUtility
${EXTRA_LIBS}
diff --git a/lldb/source/Initialization/CMakeLists.txt b/lldb/source/Initialization/CMakeLists.txt
index b6282e162aa10..dde1f710ddd2c 100644
--- a/lldb/source/Initialization/CMakeLists.txt
+++ b/lldb/source/Initialization/CMakeLists.txt
@@ -11,6 +11,8 @@ add_lldb_library(lldbInitialization
SystemInitializer.cpp
SystemLifetimeManager.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Initialization
LINK_LIBS
lldbCore
lldbHost
diff --git a/lldb/source/Interpreter/CMakeLists.txt b/lldb/source/Interpreter/CMakeLists.txt
index 642263a8bda7f..1dd071b28946b 100644
--- a/lldb/source/Interpreter/CMakeLists.txt
+++ b/lldb/source/Interpreter/CMakeLists.txt
@@ -55,6 +55,8 @@ add_lldb_library(lldbInterpreter NO_PLUGIN_DEPENDENCIES
Property.cpp
ScriptInterpreter.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Interpreter
LINK_LIBS
lldbInterpreterInterfaces
lldbCommands
diff --git a/lldb/source/Interpreter/Interfaces/CMakeLists.txt b/lldb/source/Interpreter/Interfaces/CMakeLists.txt
index f44672aa50b75..072fcf4057329 100644
--- a/lldb/source/Interpreter/Interfaces/CMakeLists.txt
+++ b/lldb/source/Interpreter/Interfaces/CMakeLists.txt
@@ -1,6 +1,8 @@
add_lldb_library(lldbInterpreterInterfaces NO_PLUGIN_DEPENDENCIES
ScriptedInterfaceUsages.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Interpreter/Interfaces
LINK_LIBS
lldbUtility
diff --git a/lldb/source/Symbol/CMakeLists.txt b/lldb/source/Symbol/CMakeLists.txt
index 86fa8583972b7..30a434ea2d351 100644
--- a/lldb/source/Symbol/CMakeLists.txt
+++ b/lldb/source/Symbol/CMakeLists.txt
@@ -33,6 +33,8 @@ add_lldb_library(lldbSymbol NO_PLUGIN_DEPENDENCIES
Variable.cpp
VariableList.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Symbol
LINK_LIBS
lldbCore
lldbExpression
diff --git a/lldb/source/Target/CMakeLists.txt b/lldb/source/Target/CMakeLists.txt
index d3545913a6902..7765331525340 100644
--- a/lldb/source/Target/CMakeLists.txt
+++ b/lldb/source/Target/CMakeLists.txt
@@ -82,6 +82,8 @@ add_lldb_library(lldbTarget
UnwindLLDB.cpp
VerboseTrapFrameRecognizer.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Target
LINK_LIBS
lldbBreakpoint
lldbCore
diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt
index 6954a2508ffe1..51f3450b1c6e9 100644
--- a/lldb/source/Utility/CMakeLists.txt
+++ b/lldb/source/Utility/CMakeLists.txt
@@ -81,6 +81,8 @@ add_lldb_library(lldbUtility NO_INTERNAL_DEPENDENCIES
XcodeSDK.cpp
ZipFile.cpp
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/Utility
LINK_LIBS
${LLDB_SYSTEM_LIBS}
# lldbUtility does not depend on other LLDB libraries
diff --git a/lldb/source/ValueObject/CMakeLists.txt b/lldb/source/ValueObject/CMakeLists.txt
index 92683916f5a52..5cdc777c9d495 100644
--- a/lldb/source/ValueObject/CMakeLists.txt
+++ b/lldb/source/ValueObject/CMakeLists.txt
@@ -19,7 +19,8 @@ add_lldb_library(lldbValueObject
ValueObjectVariable.cpp
ValueObjectVTable.cpp
-
+ ADDITIONAL_HEADER_DIRS
+ ${LLDB_INCLUDE_DIR}/lldb/ValueObject
LINK_LIBS
lldbBreakpoint
lldbDataFormatters
diff --git a/lldb/source/Version/CMakeLists.txt b/lldb/source/Version/CMakeLists.txt
index 90fe53d52cc5d..8b0acb9ef7550 100644
--- a/lldb/source/Version/CMakeLists.txt
+++ b/lldb/source/Version/CMakeLists.txt
@@ -21,9 +21,6 @@ add_custom_command(OUTPUT "${vcs_version_inc}"
"-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY}"
-P "${generate_vcs_version_script}")
-set_source_files_properties("${vcs_version_inc}"
- PROPERTIES GENERATED TRUE
- HEADER_FILE_ONLY TRUE)
# Configure the Version.inc file.
set(version_inc "${LLDB_BINARY_DIR}/include/lldb/Version/Version.inc")
@@ -32,13 +29,15 @@ configure_file(
${LLDB_SOURCE_DIR}/include/lldb/Version/Version.inc.in
${version_inc})
-set_source_files_properties("${version_inc}"
+set_source_files_properties(
+ "${vcs_version_inc}" "${version_inc}"
PROPERTIES GENERATED TRUE
- HEADER_FILE_ONLY TRUE)
-
+)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
add_lldb_library(lldbVersion NO_PLUGIN_DEPENDENCIES
Version.cpp
- ${vcs_version_inc}
- ${version_inc})
+ ADDITIONAL_HEADERS
+ ${version_inc}
+ ${vcs_version_inc}
+)
More information about the lldb-commits
mailing list