Factor out target location undefined behavior helper macro
Move CM_LOCATION_UNDEFINED_BEHAVIOR into a dedicated header. Add a parameter to describe the action that leads to the undefined target location.
This commit is contained in:
parent
9401da8084
commit
363d3962c4
|
@ -162,6 +162,7 @@ SET(SRCS
|
|||
cmDocumentationSection.cxx
|
||||
cmDocumentCompileDefinitions.h
|
||||
cmDocumentGeneratorExpressions.h
|
||||
cmDocumentLocationUndefined.h
|
||||
cmDocumentVariables.cxx
|
||||
cmDynamicLoader.cxx
|
||||
cmDynamicLoader.h
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
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.
|
||||
============================================================================*/
|
||||
#ifndef cmDocumentLocationUndefined_h
|
||||
#define cmDocumentLocationUndefined_h
|
||||
|
||||
#define CM_LOCATION_UNDEFINED_BEHAVIOR(action) \
|
||||
"\n" \
|
||||
"Do not set properties that affect the location of a target after " \
|
||||
action ". These include properties whose names match " \
|
||||
"\"(RUNTIME|LIBRARY|ARCHIVE)_OUTPUT_(NAME|DIRECTORY)(_<CONFIG>)?\" " \
|
||||
"or \"(IMPLIB_)?(PREFIX|SUFFIX)\". " \
|
||||
"Failure to follow this rule is not diagnosed and leaves the location " \
|
||||
"of the target undefined."
|
||||
|
||||
#endif
|
|
@ -17,6 +17,7 @@
|
|||
#include "cmGlobalGenerator.h"
|
||||
#include "cmComputeLinkInformation.h"
|
||||
#include "cmDocumentCompileDefinitions.h"
|
||||
#include "cmDocumentLocationUndefined.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include <cmsys/RegularExpression.hxx>
|
||||
|
@ -584,15 +585,6 @@ void cmTarget::DefineProperties(cmake *cm)
|
|||
"value is the default. "
|
||||
"See documentation of CMAKE_<LANG>_LINKER_PREFERENCE variables.");
|
||||
|
||||
#define CM_LOCATION_UNDEFINED_BEHAVIOR \
|
||||
"\n" \
|
||||
"Do not set properties that affect the location of the target after " \
|
||||
"reading this property. These include properties whose names match " \
|
||||
"\"(RUNTIME|LIBRARY|ARCHIVE)_OUTPUT_(NAME|DIRECTORY)(_<CONFIG>)?\" " \
|
||||
"or \"(IMPLIB_)?(PREFIX|SUFFIX)\". " \
|
||||
"Failure to follow this rule is not diagnosed and leaves the location " \
|
||||
"of the target undefined."
|
||||
|
||||
cm->DefineProperty
|
||||
("LOCATION", cmProperty::TARGET,
|
||||
"Read-only location of a target on disk.",
|
||||
|
@ -612,7 +604,7 @@ void cmTarget::DefineProperties(cmake *cm)
|
|||
"In CMake 2.8.4 and above add_custom_command recognizes generator "
|
||||
"expressions to refer to target locations anywhere in the command. "
|
||||
"Therefore this property is not needed for creating custom commands."
|
||||
CM_LOCATION_UNDEFINED_BEHAVIOR);
|
||||
CM_LOCATION_UNDEFINED_BEHAVIOR("reading this property"));
|
||||
|
||||
cm->DefineProperty
|
||||
("LOCATION_<CONFIG>", cmProperty::TARGET,
|
||||
|
@ -626,7 +618,7 @@ void cmTarget::DefineProperties(cmake *cm)
|
|||
"arbitrary available configuration. "
|
||||
"Use the MAP_IMPORTED_CONFIG_<CONFIG> property to map imported "
|
||||
"configurations explicitly."
|
||||
CM_LOCATION_UNDEFINED_BEHAVIOR);
|
||||
CM_LOCATION_UNDEFINED_BEHAVIOR("reading this property"));
|
||||
|
||||
cm->DefineProperty
|
||||
("LINK_DEPENDS", cmProperty::TARGET,
|
||||
|
|
Loading…
Reference in New Issue