summaryrefslogtreecommitdiffstats
path: root/Source/cmLinkLibrariesCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmLinkLibrariesCommand.cxx')
-rw-r--r--Source/cmLinkLibrariesCommand.cxx41
1 files changed, 41 insertions, 0 deletions
diff --git a/Source/cmLinkLibrariesCommand.cxx b/Source/cmLinkLibrariesCommand.cxx
new file mode 100644
index 0000000..13f6bae
--- /dev/null
+++ b/Source/cmLinkLibrariesCommand.cxx
@@ -0,0 +1,41 @@
+/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+ file Copyright.txt or https://cmake.org/licensing for details. */
+#include "cmLinkLibrariesCommand.h"
+
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
+
+// cmLinkLibrariesCommand
+bool cmLinkLibrariesCommand::InitialPass(std::vector<std::string> const& args,
+ cmExecutionStatus&)
+{
+ if (args.empty()) {
+ return true;
+ }
+ // add libraries, note that there is an optional prefix
+ // of debug and optimized than can be used
+ for (std::vector<std::string>::const_iterator i = args.begin();
+ i != args.end(); ++i) {
+ if (*i == "debug") {
+ ++i;
+ if (i == args.end()) {
+ this->SetError("The \"debug\" argument must be followed by "
+ "a library");
+ return false;
+ }
+ this->Makefile->AppendProperty("LINK_LIBRARIES", "debug");
+ } else if (*i == "optimized") {
+ ++i;
+ if (i == args.end()) {
+ this->SetError("The \"optimized\" argument must be followed by "
+ "a library");
+ return false;
+ }
+ this->Makefile->AppendProperty("LINK_LIBRARIES", "optimized");
+ }
+ this->Makefile->AppendProperty("LINK_LIBRARIES", i->c_str());
+ }
+
+ return true;
+}