From bd360ee329e74487dba526d7847794bc66b55494 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 3 Dec 2014 08:50:05 -0500 Subject: [PATCH] add_library: Fix target type check for non-shared-lib platforms When checking target types for TARGET_SUPPORTS_SHARED_LIBS == false, enumerate exactly the library types not supported rather than trying to maintain a list of all the types that are supported. Otherwise add_library(SomeImportedLib UNKNOWN IMPORTED) warns on platforms that do not support shared libraries. Reported-by: Kelly Thompson --- Source/cmAddLibraryCommand.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Source/cmAddLibraryCommand.cxx b/Source/cmAddLibraryCommand.cxx index cdc9f2ad7..bba4d4144 100644 --- a/Source/cmAddLibraryCommand.cxx +++ b/Source/cmAddLibraryCommand.cxx @@ -328,9 +328,8 @@ bool cmAddLibraryCommand CMAKE_${LANG}_CREATE_SHARED_LIBRARY is defined and if not default to STATIC. But at this point we know only the name of the target, but not yet its linker language. */ - if ((type != cmTarget::STATIC_LIBRARY) && - (type != cmTarget::OBJECT_LIBRARY) && - (type != cmTarget::INTERFACE_LIBRARY) && + if ((type == cmTarget::SHARED_LIBRARY || + type == cmTarget::MODULE_LIBRARY) && (this->Makefile->GetCMakeInstance()->GetPropertyAsBool( "TARGET_SUPPORTS_SHARED_LIBS") == false)) {