summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-05-14 15:54:52 (GMT)
committerBrad King <brad.king@kitware.com>2008-05-14 15:54:52 (GMT)
commita1bb7e90ef878c41f9725f0f7000b027f8dcd14a (patch)
treeb4a43d18ca91d43c657f1314b514d6aee45bbdb8 /Source/cmTarget.cxx
parent7652a8a1e5cd7095afee45c8212d4c23e5fef599 (diff)
downloadCMake-a1bb7e90ef878c41f9725f0f7000b027f8dcd14a.zip
CMake-a1bb7e90ef878c41f9725f0f7000b027f8dcd14a.tar.gz
CMake-a1bb7e90ef878c41f9725f0f7000b027f8dcd14a.tar.bz2
ENH: Allow users to specify macro-like #include line transforms for dependency scanning.
- Define IMPLICIT_DEPENDS_INCLUDE_TRANSFORM property on targets and directories. - Make the directory version inherited. - See issue #6648.
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx18
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 70ba7ea..f9c9426 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -159,6 +159,24 @@ void cmTarget::DefineProperties(cmake *cm)
"target has no C++ code in it.");
cm->DefineProperty
+ ("IMPLICIT_DEPENDS_INCLUDE_TRANSFORM", cmProperty::TARGET,
+ "Specify #include line transforms for dependencies in a target.",
+ "This property specifies rules to transform macro-like #include lines "
+ "during implicit dependency scanning of C and C++ source files. "
+ "The list of rules must be semicolon-separated with each entry of "
+ "the form \"A_MACRO(%)=value-with-%\" (the % must be literal). "
+ "During dependency scanning occurrences of A_MACRO(...) on #include "
+ "lines will be replaced by the value given with the macro argument "
+ "substituted for '%'. For example, the entry\n"
+ " MYDIR(%)=<mydir/%>\n"
+ "will convert lines of the form\n"
+ " #include MYDIR(myheader.h)\n"
+ "to\n"
+ " #include <mydir/myheader.h>\n"
+ "allowing the dependency to be followed.\n"
+ "This property applies to sources in the target on which it is set.");
+
+ cm->DefineProperty
("IMPORT_PREFIX", cmProperty::TARGET,
"What comes before the import library name.",
"Similar to the target property PREFIX, but used for import libraries "