Browse Source

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
pull/320/head
Stephan Szabo 8 years ago
committed by Brad King
parent
commit
2dc2a3eb15
  1. 4
      Source/cmGeneratorTarget.cxx
  2. 5
      Source/cmInstallCommand.cxx
  3. 4
      Source/cmTarget.cxx

4
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;
}

5
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()) {

4
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 =

Loading…
Cancel
Save