With similar reasoning to the parent commit, as downstreams, we can't determine what $<CONFIG> generator expressions would be appropriate. Upstream would have populated the INTERFACE_INCLUDE_DIRECTORIES with config-specific generator expressions, possibly appropriate for their DEBUG_CONFIGURATIONS. In theory, if we would add include directories for a DEBUG intent, we would have to match the upstream configurations for that. Rather than attempting to discover the appropriate configurations at this time, simplify the feature instead. The use of IMPORTED targets with these commands could still be added in the future if targets would export their DEBUG_CONFIGURATIONS somehow.
56 lines
1.8 KiB
C++
56 lines
1.8 KiB
C++
/*============================================================================
|
|
CMake - Cross Platform Makefile Generator
|
|
Copyright 2013 Stephen Kelly <steveire@gmail.com>
|
|
|
|
Distributed under the OSI-approved BSD License (the "License");
|
|
see accompanying file Copyright.txt for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the License for more information.
|
|
============================================================================*/
|
|
#include "cmTargetCompileDefinitionsCommand.h"
|
|
|
|
#include "cmMakefileIncludeDirectoriesEntry.h"
|
|
|
|
bool cmTargetCompileDefinitionsCommand
|
|
::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
|
|
{
|
|
return this->HandleArguments(args, "COMPILE_DEFINITIONS");
|
|
}
|
|
|
|
void cmTargetCompileDefinitionsCommand
|
|
::HandleImportedTarget(const std::string &tgt)
|
|
{
|
|
cmOStringStream e;
|
|
e << "Cannot specify compile definitions for imported target \""
|
|
<< tgt << "\".";
|
|
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
|
|
}
|
|
|
|
void cmTargetCompileDefinitionsCommand
|
|
::HandleMissingTarget(const std::string &name)
|
|
{
|
|
cmOStringStream e;
|
|
e << "Cannot specify compile definitions for target \"" << name << "\" "
|
|
"which is not built by this project.";
|
|
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
|
|
}
|
|
|
|
bool cmTargetCompileDefinitionsCommand
|
|
::HandleNonTargetArg(std::string &content,
|
|
const std::string &sep,
|
|
const std::string &entry,
|
|
const std::string &)
|
|
{
|
|
content += sep + entry;
|
|
return true;
|
|
}
|
|
|
|
void cmTargetCompileDefinitionsCommand
|
|
::HandleDirectContent(cmTarget *tgt, const std::string &content,
|
|
bool)
|
|
{
|
|
tgt->AppendProperty("COMPILE_DEFINITIONS", content.c_str());
|
|
}
|