Merge topic 'object-library-is-not-shared'

9a9b3e4 add_library: Allow OBJECT library without dynamic linking (#13289)
This commit is contained in:
David Cole 2012-06-12 16:01:21 -04:00 committed by CMake Topic Stage
commit bc5177b99e
1 changed files with 8 additions and 7 deletions

View File

@ -102,16 +102,17 @@ bool cmAddLibraryCommand
STATIC. But at this point we know only the name of the target, but not STATIC. But at this point we know only the name of the target, but not
yet its linker language. */ yet its linker language. */
if ((type != cmTarget::STATIC_LIBRARY) && if ((type != cmTarget::STATIC_LIBRARY) &&
(type != cmTarget::OBJECT_LIBRARY) &&
(this->Makefile->GetCMakeInstance()->GetPropertyAsBool( (this->Makefile->GetCMakeInstance()->GetPropertyAsBool(
"TARGET_SUPPORTS_SHARED_LIBS") == false)) "TARGET_SUPPORTS_SHARED_LIBS") == false))
{ {
std::string msg = "ADD_LIBRARY for library "; cmOStringStream w;
msg += args[0]; w <<
msg += " is used with the "; "ADD_LIBRARY called with " <<
msg += type==cmTarget::SHARED_LIBRARY ? "SHARED" : "MODULE"; (type==cmTarget::SHARED_LIBRARY ? "SHARED" : "MODULE") <<
msg += " option, but the target platform supports only STATIC libraries. " " option but the target platform does not support dynamic linking. "
"Building it STATIC instead. This may lead to problems."; "Building a STATIC library instead. This may lead to problems.";
cmSystemTools::Message(msg.c_str() ,"Warning"); this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str());
type = cmTarget::STATIC_LIBRARY; type = cmTarget::STATIC_LIBRARY;
} }