mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-06 14:19:59 -05:00
Merge topic 'install-strip-macos'
20291e8e72 install: Fix stripping on macOS
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2892
This commit is contained in:
@@ -792,10 +792,22 @@ void cmInstallTargetGenerator::AddStripRule(std::ostream& os, Indent indent,
|
||||
return;
|
||||
}
|
||||
|
||||
std::string stripArgs;
|
||||
|
||||
// macOS 'strip' is picky, executables need '-u -r' and dylibs need '-x'.
|
||||
if (this->Target->Target->GetMakefile()->IsOn("APPLE")) {
|
||||
if (this->Target->GetType() == cmStateEnums::SHARED_LIBRARY ||
|
||||
this->Target->GetType() == cmStateEnums::MODULE_LIBRARY) {
|
||||
stripArgs = "-x ";
|
||||
} else if (this->Target->GetType() == cmStateEnums::EXECUTABLE) {
|
||||
stripArgs = "-u -r ";
|
||||
}
|
||||
}
|
||||
|
||||
os << indent << "if(CMAKE_INSTALL_DO_STRIP)\n";
|
||||
os << indent << " execute_process(COMMAND \""
|
||||
<< this->Target->Target->GetMakefile()->GetDefinition("CMAKE_STRIP")
|
||||
<< "\" \"" << toDestDirPath << "\")\n";
|
||||
<< "\" " << stripArgs << "\"" << toDestDirPath << "\")\n";
|
||||
os << indent << "endif()\n";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user