summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2023-01-18 22:23:25 (GMT)
committerBrad King <brad.king@kitware.com>2023-02-16 21:10:05 (GMT)
commit9693191582b3bd0ccff26c60869299f93c8aae0d (patch)
tree81afa23cbcc598291b262abebaceed5e3477ab5a
parent51c79170720abc16981381c924e2c50b5ed45ecf (diff)
downloadCMake-9693191582b3bd0ccff26c60869299f93c8aae0d.zip
CMake-9693191582b3bd0ccff26c60869299f93c8aae0d.tar.gz
CMake-9693191582b3bd0ccff26c60869299f93c8aae0d.tar.bz2
Swift: Emit debug information on Windows
When building on Windows, pass `-debug` to the linker to emit the PDB (or `-debug:dwarf` when building with lld and using DWARF). We would previously not do this which meant that we never emitted the debug information making debugging more difficult. Fixes: #24423
-rw-r--r--Modules/CMakeSwiftInformation.cmake4
-rw-r--r--Modules/Platform/Windows-Apple-Swift.cmake2
2 files changed, 4 insertions, 2 deletions
diff --git a/Modules/CMakeSwiftInformation.cmake b/Modules/CMakeSwiftInformation.cmake
index a75dfce..d27aa3f 100644
--- a/Modules/CMakeSwiftInformation.cmake
+++ b/Modules/CMakeSwiftInformation.cmake
@@ -72,9 +72,9 @@ if(CMAKE_GENERATOR STREQUAL "Xcode")
# these options here will have no effect when compiling with the built-in driver,
# and will explode violently, leaving build products in the source directory, when
# using the old swift driver.
- set(CMAKE_Swift_FLAGS_DEBUG_INIT "-Onone -g")
+ set(CMAKE_Swift_FLAGS_DEBUG_INIT "-Onone -g ${CMAKE_Swift_FLAGS_DEBUG_LINKER_FLAGS}")
set(CMAKE_Swift_FLAGS_RELEASE_INIT "-O")
- set(CMAKE_Swift_FLAGS_RELWITHDEBINFO_INIT "-O -g")
+ set(CMAKE_Swift_FLAGS_RELWITHDEBINFO_INIT "-O -g ${CMAKE_Swift_FLAGS_RELWITHDEBINFO_LINKER_FLAGS}")
set(CMAKE_Swift_FLAGS_MINSIZEREL_INIT "-Osize")
else()
set(CMAKE_Swift_FLAGS_DEBUG_INIT "-Onone -g -incremental")
diff --git a/Modules/Platform/Windows-Apple-Swift.cmake b/Modules/Platform/Windows-Apple-Swift.cmake
index 1177755..3f754fd 100644
--- a/Modules/Platform/Windows-Apple-Swift.cmake
+++ b/Modules/Platform/Windows-Apple-Swift.cmake
@@ -1 +1,3 @@
set(CMAKE_Swift_IMPLIB_LINKER_FLAGS "-Xlinker -implib:<TARGET_IMPLIB>")
+set(CMAKE_Swift_FLAGS_DEBUG_LINKER_FLAGS "-Xlinker -debug")
+set(CMAKE_Swift_FLAGS_RELWITHDEBINFO_LINKER_FLAGS "-Xlinker -debug")