mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-07 06:09:52 -06:00
Merge topic 'msvc-llvm-mt'
3c0f701990 MSVC: Run manifest tool with llvm-mt compatible arguments
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8706
This commit is contained in:
@@ -82,7 +82,7 @@ if(("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_SIMULATE_ID}" STREQUAL "xMSVC" AND
|
||||
if("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" STREQUAL "xClang")
|
||||
set(_CMAKE_NM_NAMES "llvm-nm" "nm")
|
||||
list(PREPEND _CMAKE_AR_NAMES "llvm-lib")
|
||||
# llvm-mt does not support all flags we need in vs_link_exe
|
||||
# llvm-mt is not ready to be used as a replacement for mt.exe
|
||||
# list(PREPEND _CMAKE_MT_NAMES "llvm-mt")
|
||||
list(PREPEND _CMAKE_LINKER_NAMES "lld-link")
|
||||
list(APPEND _CMAKE_TOOL_VARS NM)
|
||||
|
||||
@@ -2539,14 +2539,17 @@ int cmVSLink::RunMT(std::string const& out, bool notify)
|
||||
std::vector<std::string> mtCommand;
|
||||
mtCommand.push_back(this->MtPath.empty() ? "mt" : this->MtPath);
|
||||
mtCommand.emplace_back("/nologo");
|
||||
mtCommand.emplace_back("/manifest");
|
||||
|
||||
// add the linker generated manifest if the file exists.
|
||||
if (this->LinkGeneratesManifest &&
|
||||
cmSystemTools::FileExists(this->LinkerManifestFile)) {
|
||||
mtCommand.emplace_back("/manifest");
|
||||
mtCommand.push_back(this->LinkerManifestFile);
|
||||
}
|
||||
cm::append(mtCommand, this->UserManifests);
|
||||
for (auto const& m : this->UserManifests) {
|
||||
mtCommand.emplace_back("/manifest");
|
||||
mtCommand.push_back(m);
|
||||
}
|
||||
mtCommand.push_back(out);
|
||||
if (notify) {
|
||||
// Add an undocumented option that enables a special return
|
||||
|
||||
Reference in New Issue
Block a user