Skip to content

Commit 733923a

Browse files
committed
[lldb\utils] Place lldb-repro in a per-configuration directory to support multi-configuration generators
Summary: Currently, lldb-repro is placed in the wrong location for multi-configuration generators. For example, in the case of VS, it is placed in a directory $(Configuration) instead of in each of Debug, Release, etc. Reviewers: JDevlieghere Reviewed By: JDevlieghere Subscribers: mgorny, lldb-commits, asmith Tags: #lldb Differential Revision: https://reviews.llvm.org/D74148
1 parent 80e17e5 commit 733923a

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

lldb/utils/lldb-dotest/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ if(LLDB_BUILT_STANDALONE)
5353
endforeach()
5454
elseif(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
5555
foreach(LLVM_BUILD_MODE ${CMAKE_CONFIGURATION_TYPES})
56-
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_DOTEST_DIR_CONFIGURED ${LLVM_RUNTIME_OUTPUT_INTDIR})
56+
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_DOTEST_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
5757
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_DOTEST_ARGS_CONFIGURED "${LLDB_DOTEST_ARGS}")
5858
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_SOURCE_DIR_CONFIGURED "${LLDB_SOURCE_DIR}")
5959
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_TEST_BUILD_DIRECTORY_CONFIGURED "${LLDB_TEST_BUILD_DIRECTORY}")
@@ -65,7 +65,7 @@ elseif(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
6565

6666
configure_file(
6767
lldb-dotest.in
68-
${LLDB_DOTEST_DIR_CONFIGURED}/lldb-dotest
68+
${LLDB_DOTEST_DIR}/lldb-dotest
6969
)
7070
endforeach()
7171
else()

lldb/utils/lldb-repro/CMakeLists.txt

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,23 @@
11
add_custom_target(lldb-repro)
22
add_dependencies(lldb-repro lldb-test-deps)
33
set_target_properties(lldb-repro PROPERTIES FOLDER "lldb utils")
4-
configure_file(lldb-repro.py ${LLVM_RUNTIME_OUTPUT_INTDIR}/lldb-repro COPYONLY)
4+
5+
# Generate lldb-repro Python script for each build mode.
6+
if(LLDB_BUILT_STANDALONE)
7+
set(config_types ".")
8+
if(CMAKE_CONFIGURATION_TYPES)
9+
set(config_types ${CMAKE_CONFIGURATION_TYPES})
10+
endif()
11+
12+
foreach(config_type ${config_types})
13+
string(REPLACE ${CMAKE_CFG_INTDIR} ${config_type} config_runtime_output_dir ${LLVM_RUNTIME_OUTPUT_INTDIR})
14+
configure_file(lldb-repro.py ${config_runtime_output_dir}/lldb-repro COPYONLY)
15+
endforeach()
16+
elseif(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
17+
foreach(LLVM_BUILD_MODE ${CMAKE_CONFIGURATION_TYPES})
18+
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_REPRO_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
19+
configure_file(lldb-repro.py ${LLDB_REPRO_DIR}/lldb-repro COPYONLY)
20+
endforeach()
21+
else()
22+
configure_file(lldb-repro.py ${LLVM_RUNTIME_OUTPUT_INTDIR}/lldb-repro COPYONLY)
23+
endif()

0 commit comments

Comments
 (0)