summaryrefslogtreecommitdiffstats
path: root/Source/cmSourceFile.h
diff options
context:
space:
mode:
authorJustin Goshi <jgoshi@microsoft.com>2019-09-23 18:21:07 (GMT)
committerBrad King <brad.king@kitware.com>2019-09-26 14:56:52 (GMT)
commitc71ac889ba6565c2a2aa31a403e3ab999abb5570 (patch)
tree65891876434523d5000f1bf53741d240579d09e7 /Source/cmSourceFile.h
parentb4087a23538f87efebcc8e4ece248416c242167f (diff)
downloadCMake-c71ac889ba6565c2a2aa31a403e3ab999abb5570.zip
CMake-c71ac889ba6565c2a2aa31a403e3ab999abb5570.tar.gz
CMake-c71ac889ba6565c2a2aa31a403e3ab999abb5570.tar.bz2
cmSourceFile: Add backtraces for a few source properties
Adding backtrace support for INCLUDE_DIRECTORIES, COMPILE_OPTIONS, and COMPILE_DEFINITIONS.
Diffstat (limited to 'Source/cmSourceFile.h')
-rw-r--r--Source/cmSourceFile.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/Source/cmSourceFile.h b/Source/cmSourceFile.h
index 3b18fdb..6ef4167 100644
--- a/Source/cmSourceFile.h
+++ b/Source/cmSourceFile.h
@@ -6,6 +6,7 @@
#include "cmConfigure.h" // IWYU pragma: keep
#include "cmCustomCommand.h"
+#include "cmListFileCache.h"
#include "cmPropertyMap.h"
#include "cmSourceFileLocation.h"
#include "cmSourceFileLocationKind.h"
@@ -57,6 +58,21 @@ public:
/// @return Equivalent to GetPropertyAsBool("GENERATED")
bool GetIsGenerated() const { return this->IsGenerated; }
+ const std::vector<BT<std::string>>& GetCompileOptions() const
+ {
+ return this->CompileOptions;
+ }
+
+ const std::vector<BT<std::string>>& GetCompileDefinitions() const
+ {
+ return this->CompileDefinitions;
+ }
+
+ const std::vector<BT<std::string>>& GetIncludeDirectories() const
+ {
+ return this->IncludeDirectories;
+ }
+
/**
* Resolves the full path to the file. Attempts to locate the file on disk
* and finalizes its location.
@@ -116,6 +132,9 @@ private:
std::string FullPath;
std::string ObjectLibrary;
std::vector<std::string> Depends;
+ std::vector<BT<std::string>> CompileOptions;
+ std::vector<BT<std::string>> CompileDefinitions;
+ std::vector<BT<std::string>> IncludeDirectories;
bool FindFullPathFailed = false;
bool IsGenerated = false;
@@ -126,6 +145,9 @@ private:
static const std::string propLANGUAGE;
static const std::string propLOCATION;
static const std::string propGENERATED;
+ static const std::string propCOMPILE_DEFINITIONS;
+ static const std::string propCOMPILE_OPTIONS;
+ static const std::string propINCLUDE_DIRECTORIES;
};
// TODO: Factor out into platform information modules.