diff --git a/eng/native/configurecompiler.cmake b/eng/native/configurecompiler.cmake
index cdf1a8f766afa..469eb5f59b4eb 100644
--- a/eng/native/configurecompiler.cmake
+++ b/eng/native/configurecompiler.cmake
@@ -78,6 +78,11 @@ if (MSVC)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /PDBCOMPRESS")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:1572864")
+ if(EXISTS ${CLR_SOURCELINK_FILE_PATH})
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /sourcelink:${CLR_SOURCELINK_FILE_PATH}")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /sourcelink:${CLR_SOURCELINK_FILE_PATH}")
+ endif(EXISTS ${CLR_SOURCELINK_FILE_PATH})
+
# Checked build specific flags
add_linker_flag(/INCREMENTAL:NO CHECKED) # prevent "warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:REF' specification"
add_linker_flag(/OPT:REF CHECKED)
diff --git a/eng/native/configurepaths.cmake b/eng/native/configurepaths.cmake
index 3f41026eee2ac..7d6851d1cf064 100644
--- a/eng/native/configurepaths.cmake
+++ b/eng/native/configurepaths.cmake
@@ -2,6 +2,7 @@ get_filename_component(CLR_REPO_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../.. ABSOLUT
set(CLR_ENG_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR})
get_filename_component(CLR_SRC_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR}/../../src/native ABSOLUTE)
set (CLR_ARTIFACTS_OBJ_DIR "${CLR_REPO_ROOT_DIR}/artifacts/obj")
+set (CLR_SOURCELINK_FILE_PATH "${CLR_ARTIFACTS_OBJ_DIR}/native.sourcelink.json")
set(VERSION_HEADER_PATH "${CLR_ARTIFACTS_OBJ_DIR}/_version.h")
set(VERSION_FILE_PATH "${CLR_ARTIFACTS_OBJ_DIR}/_version.c")
set(VERSION_FILE_RC_PATH "${CLR_ARTIFACTS_OBJ_DIR}/NativeVersion.rc")
diff --git a/eng/versioning.targets b/eng/versioning.targets
index 10226b7a490d0..9a4ea04f85d00 100644
--- a/eng/versioning.targets
+++ b/eng/versioning.targets
@@ -177,4 +177,11 @@
WriteOnlyWhenDifferent="true" />
+
+
+
+
diff --git a/src/coreclr/runtime-prereqs.proj b/src/coreclr/runtime-prereqs.proj
index 36ed2ce497be1..167346101e0bf 100644
--- a/src/coreclr/runtime-prereqs.proj
+++ b/src/coreclr/runtime-prereqs.proj
@@ -3,6 +3,7 @@
$(ArtifactsObjDir)_version.h
$(ArtifactsObjDir)_version.c
$(ArtifactsObjDir)runtime_version.h
+ $(ArtifactsObjDir)native.sourcelink.json
.NET Runtime
@@ -13,5 +14,5 @@
-
+