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

View File

@ -20,7 +20,7 @@ SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a") SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
# basically all general purpose OSs support shared libs # basically all general purpose OSs support shared libs
SET(CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS FALSE) SET_PROPERTIES(GLOBAL PROPERTIES TARGET_SUPPORTS_SHARED_LIBS TRUE)
SET (CMAKE_SKIP_RPATH "NO" CACHE BOOL SET (CMAKE_SKIP_RPATH "NO" CACHE BOOL
"If set, runtime paths are not added when using shared libraries.") "If set, runtime paths are not added when using shared libraries.")

View File

@ -1,5 +1,5 @@
#the compute nodes on BlueGene/L don't support shared libs #the compute nodes on BlueGene/L don't support shared libs
SET(CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS TRUE) SET_PROPERTIES(GLOBAL PROPERTIES TARGET_SUPPORTS_SHARED_LIBS FALSE)
SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "") # -shared SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "") # -shared

View File

@ -8,5 +8,5 @@
# and/or ${CMAKE_SYSTEM_NAME}-<compiler_basename>-${CMAKE_SYSTEM_PROCESSOR}.cmake # and/or ${CMAKE_SYSTEM_NAME}-<compiler_basename>-${CMAKE_SYSTEM_PROCESSOR}.cmake
# (embedded) targets without operating system usually don't support shared libraries # (embedded) targets without operating system usually don't support shared libraries
SET(CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS TRUE) SET_PROPERTIES(GLOBAL PROPERTIES TARGET_SUPPORTS_SHARED_LIBS FALSE)

View File

@ -16,6 +16,8 @@
=========================================================================*/ =========================================================================*/
#include "cmAddLibraryCommand.h" #include "cmAddLibraryCommand.h"
#include "cmake.h"
// cmLibraryCommand // cmLibraryCommand
bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args) 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 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) &&
(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 "; std::string msg = "ADD_LIBRARY for library ";
msg += args[0]; msg += args[0];

View File

@ -128,6 +128,7 @@ cmake::cmake()
cmTarget::DefineProperties(this); cmTarget::DefineProperties(this);
cmMakefile::DefineProperties(this); cmMakefile::DefineProperties(this);
cmTest::DefineProperties(this); cmTest::DefineProperties(this);
cmake::DefineProperties(this);
#ifdef __APPLE__ #ifdef __APPLE__
struct rlimit rlp; struct rlimit rlp;
@ -2930,6 +2931,18 @@ int cmake::ExecuteLinkScript(std::vector<std::string>& args)
return result; 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, void cmake::DefineProperty(const char *name, cmProperty::ScopeType scope,
const char *ShortDescription, const char *ShortDescription,
const char *FullDescription, const char *FullDescription,

View File

@ -312,6 +312,9 @@ class cmake
bool IsPropertyDefined(const char *name, cmProperty::ScopeType scope); bool IsPropertyDefined(const char *name, cmProperty::ScopeType scope);
bool IsPropertyChained(const char *name, cmProperty::ScopeType scope); bool IsPropertyChained(const char *name, cmProperty::ScopeType scope);
// Define the properties
static void DefineProperties(cmake *cm);
protected: protected:
cmPropertyMap Properties; cmPropertyMap Properties;