summaryrefslogtreecommitdiffstats
path: root/Source/cmSetPropertyCommand.h
diff options
context:
space:
mode:
authorDeniz Bahadir <dbahadir@benocs.com>2020-09-30 19:11:14 (GMT)
committerDeniz Bahadir <dbahadir@benocs.com>2020-11-24 16:54:54 (GMT)
commitca4ce458a3a14889b1018198b6580ddddfb039a5 (patch)
treeb9317dd5ea89209ffbc1f9b2dfa0313e09a8b691 /Source/cmSetPropertyCommand.h
parent0eb30f175e61a013db301ab1be242dd497be4add (diff)
downloadCMake-ca4ce458a3a14889b1018198b6580ddddfb039a5.zip
CMake-ca4ce458a3a14889b1018198b6580ddddfb039a5.tar.gz
CMake-ca4ce458a3a14889b1018198b6580ddddfb039a5.tar.bz2
GENERATED prop: Check CMP0118 policy and warn in certain situations
* Adding tests for CMP0118 being unset (aka set to `WARN`). * Adjusting the (unrelated) RunCMake.CMP0026 test to set CMP0118 to `NEW`, * Adjusting the (unrelated) RunCMake.Ninja test to set CMP0118 to `OLD`. * Adjusting the (unrelated) RunCMake.FileAPI test to set CMP0118 to `OLD`. Note: Setting CMP0118 to `NEW` and modifying the `GENERATED` property with `set_property` or `set_source_files_properties` will currently NOT set that property because the implementation is still to come.
Diffstat (limited to 'Source/cmSetPropertyCommand.h')
-rw-r--r--Source/cmSetPropertyCommand.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/cmSetPropertyCommand.h b/Source/cmSetPropertyCommand.h
index 01bde65..05c4873 100644
--- a/Source/cmSetPropertyCommand.h
+++ b/Source/cmSetPropertyCommand.h
@@ -9,6 +9,7 @@
class cmMakefile;
class cmExecutionStatus;
+class cmSourceFile;
bool cmSetPropertyCommand(std::vector<std::string> const& args,
cmExecutionStatus& status);
@@ -39,4 +40,16 @@ void MakeSourceFilePathsAbsoluteIfNeeded(
std::vector<std::string>& source_files_absolute_paths,
std::vector<std::string>::const_iterator files_it_begin,
std::vector<std::string>::const_iterator files_it_end, bool needed);
+
+enum class PropertyOp
+{
+ Remove,
+ Set,
+ Append,
+ AppendAsString
+};
+
+bool HandleAndValidateSourceFilePropertyGENERATED(
+ cmSourceFile* sf, std::string const& propertyValue,
+ PropertyOp op = PropertyOp::Set);
}