summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.cxx
diff options
context:
space:
mode:
authorChuck Atkins <chuck.atkins@kitware.com>2015-09-29 16:34:18 (GMT)
committerBrad King <brad.king@kitware.com>2015-09-30 18:59:11 (GMT)
commite90f463a312e18fd6498799de1522b96d84fd012 (patch)
tree87e738356006380581ba74a68544a443fa901756 /Source/cmLocalGenerator.cxx
parent5c50b396865c2fbd61cf43c5c4c287113208f32c (diff)
downloadCMake-e90f463a312e18fd6498799de1522b96d84fd012.zip
CMake-e90f463a312e18fd6498799de1522b96d84fd012.tar.gz
CMake-e90f463a312e18fd6498799de1522b96d84fd012.tar.bz2
Drop executable symbol export if platform does not support shared libs
Instead of always adding CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS to executables, or just when the ENABLE_EXPORTS property is set (CMP0065), make sure that the target platform also actually supports shared libraries. If not, then the executable cannot possibly provide symbols to them anyway.
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r--Source/cmLocalGenerator.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index f4de0f2..3230403 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1542,7 +1542,9 @@ void cmLocalGenerator::OutputLinkLibraries(std::string& linkLibraries,
this->Makefile->GetSafeDefinition("CMAKE_LIBRARY_PATH_TERMINATOR");
// Flags to link an executable to shared libraries.
- if( tgt.GetType() == cmTarget::EXECUTABLE )
+ if (tgt.GetType() == cmTarget::EXECUTABLE &&
+ this->StateSnapshot.GetState()->
+ GetGlobalPropertyAsBool("TARGET_SUPPORTS_SHARED_LIBS"))
{
bool add_shlib_flags = false;
switch(tgt.Target->GetPolicyStatusCMP0065())