summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@gmail.com>2019-11-09 03:28:18 (GMT)
committerCristian Adam <cristian.adam@gmail.com>2019-11-11 13:10:18 (GMT)
commit9a5418320ea40d61a63fd47e5ac133c3ff780062 (patch)
treea3acc27189bb2d5b0b8d1f3d792826bc45a6e1f5 /Source/cmGeneratorTarget.h
parent929d7a454c8069bae4dece36838ed0db6b65d9cf (diff)
downloadCMake-9a5418320ea40d61a63fd47e5ac133c3ff780062.zip
CMake-9a5418320ea40d61a63fd47e5ac133c3ff780062.tar.gz
CMake-9a5418320ea40d61a63fd47e5ac133c3ff780062.tar.bz2
Unity: Don't include sources with HEADER_FILE_ONLY property set
Fixes: #19946 Fixes: #19947 Co-authored-by: Craig Scott <craig.scott@crascit.com>
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r--Source/cmGeneratorTarget.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 1f824b1..493eafc 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -10,6 +10,7 @@
#include <set>
#include <string>
#include <unordered_map>
+#include <unordered_set>
#include <utility>
#include <vector>
@@ -98,7 +99,8 @@ public:
SourceKindModuleDefinition,
SourceKindObjectSource,
SourceKindResx,
- SourceKindXaml
+ SourceKindXaml,
+ SourceKindUnityBatched
};
/** A source file paired with a kind (classification). */
@@ -471,6 +473,9 @@ public:
std::string GetPchUseCompileOptions(const std::string& config,
const std::string& language);
+ void AddSourceFileToUnityBatch(const std::string& sourceFilename);
+ bool IsSourceFilePartOfUnityBatch(const std::string& sourceFilename) const;
+
bool IsSystemIncludeDirectory(const std::string& dir,
const std::string& config,
const std::string& language) const;
@@ -893,6 +898,8 @@ private:
mutable std::map<std::string, std::string> PchCreateCompileOptions;
mutable std::map<std::string, std::string> PchUseCompileOptions;
+ std::unordered_set<std::string> UnityBatchedSourceFiles;
+
void ExpandLinkItems(std::string const& prop, std::string const& value,
std::string const& config,
const cmGeneratorTarget* headTarget,