STYLE: change global cmake variable CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS

to the first global cmake property TARGET_SUPPORTS_SHARED_LIBS

Alex
This commit is contained in:
Alexander Neundorf
2007-06-26 13:05:27 -04:00
parent 5fb7dab541
commit f8261ff9f7
6 changed files with 23 additions and 4 deletions
+4 -1
View File
@@ -16,6 +16,8 @@
=========================================================================*/
#include "cmAddLibraryCommand.h"
#include "cmake.h"
// cmLibraryCommand
bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args)
{
@@ -82,7 +84,8 @@ bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args)
STATIC. But at this point we know only the name of the target, but not
yet its linker language. */
if ((type != cmTarget::STATIC_LIBRARY) &&
(this->Makefile->IsOn("CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS")))
(this->Makefile->GetCMakeInstance()->GetPropertyAsBool(
"TARGET_SUPPORTS_SHARED_LIBS") == false))
{
std::string msg = "ADD_LIBRARY for library ";
msg += args[0];
+13
View File
@@ -128,6 +128,7 @@ cmake::cmake()
cmTarget::DefineProperties(this);
cmMakefile::DefineProperties(this);
cmTest::DefineProperties(this);
cmake::DefineProperties(this);
#ifdef __APPLE__
struct rlimit rlp;
@@ -2930,6 +2931,18 @@ int cmake::ExecuteLinkScript(std::vector<std::string>& args)
return result;
}
void cmake::DefineProperties(cmake *cm)
{
cm->DefineProperty
("TARGET_SUPPORTS_SHARED_LIBS", cmProperty::GLOBAL,
"Does the target platform support shared libraries.",
"TARGET_SUPPORTS_SHARED_LIBS is a boolean specifying whether the target "
"platform supports shared libraries. Basically all current general "
"general purpose OS do so, the exception are usually embedded systems "
"with no or special OSs.");
}
void cmake::DefineProperty(const char *name, cmProperty::ScopeType scope,
const char *ShortDescription,
const char *FullDescription,
+3
View File
@@ -312,6 +312,9 @@ class cmake
bool IsPropertyDefined(const char *name, cmProperty::ScopeType scope);
bool IsPropertyChained(const char *name, cmProperty::ScopeType scope);
// Define the properties
static void DefineProperties(cmake *cm);
protected:
cmPropertyMap Properties;