mirror of
https://github.com/reactos/CMake.git
synced 2024-11-25 04:29:52 +00:00
4079ba20d9
cmMakefile should not have logic particular to individual cmake commands. The link_libraries() command is generally obsolete in favor of target_link_libraries(). An alternative language for CMake probably would not offer the former. The quirks and historical behaviors of the current language should be separate from the core classes of CMake to allow replacing the language.
38 lines
1.2 KiB
C++
38 lines
1.2 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
#include "cmLinkLibrariesCommand.h"
|
|
|
|
// cmLinkLibrariesCommand
|
|
bool cmLinkLibrariesCommand::InitialPass(std::vector<std::string> const& args,
|
|
cmExecutionStatus&)
|
|
{
|
|
if (args.empty()) {
|
|
return true;
|
|
}
|
|
// add libraries, nothe 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;
|
|
}
|