diff options
author | Stephan Szabo <stephan.szabo@sony.com> | 2018-03-08 18:26:56 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-03-09 13:09:21 (GMT) |
commit | 2dc2a3eb15c331aa2b953d995d304a6befc0aca4 (patch) | |
tree | a42fb062123284b06ac76a24edad8a2362ef93b5 | |
parent | 9ceafdfd4deec57c3a7f8650b2466da1d0aa0d3f (diff) | |
download | CMake-2dc2a3eb15c331aa2b953d995d304a6befc0aca4.zip CMake-2dc2a3eb15c331aa2b953d995d304a6befc0aca4.tar.gz CMake-2dc2a3eb15c331aa2b953d995d304a6befc0aca4.tar.bz2 |
Identify DLL platforms via CMAKE_IMPORT_LIBRARY_SUFFIX
Use `CMAKE_IMPORT_LIBRARY_SUFFIX` to identify platforms that have DLL
import libraries rather than memorizing a list of platform names.
Fixes: #16801
-rw-r--r-- | Source/cmGeneratorTarget.cxx | 4 | ||||
-rw-r--r-- | Source/cmInstallCommand.cxx | 5 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 4 |
3 files changed, 7 insertions, 6 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 8cdba93..b9e2978 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -132,8 +132,8 @@ cmGeneratorTarget::cmGeneratorTarget(cmTarget* t, cmLocalGenerator* lg) this->SourceEntries, true); this->DLLPlatform = - (this->Makefile->IsOn("WIN32") || this->Makefile->IsOn("CYGWIN") || - this->Makefile->IsOn("MINGW")); + strcmp(this->Makefile->GetSafeDefinition("CMAKE_IMPORT_LIBRARY_SUFFIX"), + "") != 0; this->PolicyMap = t->PolicyMap; } diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx index 008a5e0..b5291a1 100644 --- a/Source/cmInstallCommand.cxx +++ b/Source/cmInstallCommand.cxx @@ -5,6 +5,7 @@ #include "cmsys/Glob.hxx" #include <sstream> #include <stddef.h> +#include <string.h> #include <utility> #include "cmAlgorithms.h" @@ -334,8 +335,8 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args) // Check whether this is a DLL platform. bool dll_platform = - (this->Makefile->IsOn("WIN32") || this->Makefile->IsOn("CYGWIN") || - this->Makefile->IsOn("MINGW")); + strcmp(this->Makefile->GetSafeDefinition("CMAKE_IMPORT_LIBRARY_SUFFIX"), + "") != 0; for (std::string const& tgt : targetList.GetVector()) { diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index bb21022..0a85c6b 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -196,8 +196,8 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type, // Check whether this is a DLL platform. this->DLLPlatform = - (this->Makefile->IsOn("WIN32") || this->Makefile->IsOn("CYGWIN") || - this->Makefile->IsOn("MINGW")); + strcmp(this->Makefile->GetSafeDefinition("CMAKE_IMPORT_LIBRARY_SUFFIX"), + "") != 0; // Check whether we are targeting an Android platform. this->IsAndroid = |