summaryrefslogtreecommitdiffstats
path: root/Source/cmXCodeScheme.h
diff options
context:
space:
mode:
authorGregor Jasny <gjasny@googlemail.com>2017-06-28 20:21:01 (GMT)
committerGregor Jasny <gjasny@googlemail.com>2017-06-28 20:21:52 (GMT)
commitfe34a5c82b68bbaec8f4aa5604d9cefa4aca2d33 (patch)
treed85cfc3c4081e7bee6bd95562bdced55c6e1bf65 /Source/cmXCodeScheme.h
parent690cf2c1b200e0fa3de92ceb0b19c5130569ff81 (diff)
downloadCMake-fe34a5c82b68bbaec8f4aa5604d9cefa4aca2d33.zip
CMake-fe34a5c82b68bbaec8f4aa5604d9cefa4aca2d33.tar.gz
CMake-fe34a5c82b68bbaec8f4aa5604d9cefa4aca2d33.tar.bz2
Xcode: Add XCTest support to schema generator
Closes: #16961
Diffstat (limited to 'Source/cmXCodeScheme.h')
-rw-r--r--Source/cmXCodeScheme.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmXCodeScheme.h b/Source/cmXCodeScheme.h
index d59f35b..def75b1 100644
--- a/Source/cmXCodeScheme.h
+++ b/Source/cmXCodeScheme.h
@@ -5,6 +5,8 @@
#include "cmConfigure.h" // IWYU pragma: keep
+#include <vector>
+
#include "cmGlobalXCodeGenerator.h"
#include "cmSystemTools.h"
#include "cmXCodeObject.h"
@@ -16,7 +18,9 @@
class cmXCodeScheme
{
public:
- cmXCodeScheme(cmXCodeObject* xcObj,
+ typedef std::vector<const cmXCodeObject*> TestObjects;
+
+ cmXCodeScheme(cmXCodeObject* xcObj, const TestObjects& tests,
const std::vector<std::string>& configList,
unsigned int xcVersion);
@@ -25,6 +29,7 @@ public:
private:
const cmXCodeObject* const Target;
+ const TestObjects Tests;
const std::string& TargetName;
const std::vector<std::string>& ConfigList;
const unsigned int XcodeVersion;
@@ -32,7 +37,8 @@ private:
void WriteXCodeXCScheme(std::ostream& fout, const std::string& container);
void WriteBuildAction(cmXMLWriter& xout, const std::string& container);
- void WriteTestAction(cmXMLWriter& xout, std::string configuration);
+ void WriteTestAction(cmXMLWriter& xout, std::string configuration,
+ const std::string& container);
void WriteLaunchAction(cmXMLWriter& xout, std::string configuration,
const std::string& container);
void WriteProfileAction(cmXMLWriter& xout, std::string configuration);
@@ -45,6 +51,8 @@ private:
std::string WriteVersionString();
std::string FindConfiguration(const std::string& name);
+ bool IsTestable() const;
+
static bool IsExecutable(const cmXCodeObject* target);
};