summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2012-03-20 13:34:35 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2012-03-20 13:34:35 (GMT)
commit31c0bc021940420fcf383bde390c59beb2cd9b9c (patch)
tree6b8507775944f1deca58394332891d8ff276610e /Source/cmTarget.h
parentb06f7c077b15de1a2bf354b64092565d0e49d719 (diff)
parent93d5509b5b1c208f3ed28daf35f9384ab6918441 (diff)
downloadCMake-31c0bc021940420fcf383bde390c59beb2cd9b9c.zip
CMake-31c0bc021940420fcf383bde390c59beb2cd9b9c.tar.gz
CMake-31c0bc021940420fcf383bde390c59beb2cd9b9c.tar.bz2
Merge topic 'object-library'
93d5509 Merge branch 'ninja-object-library' into object-library 821037c Merge branch 'xcode-object-library' into object-library eb24c99 Merge branch 'object-library' into xcode-object-library 63d1be8 Xcode: Honor $<TARGET_OBJECTS:...> source expressions 020ba38 Merge branch 'object-library' into xcode-object-library e8ea615 Build object library targets in Xcode 8045e17 Pre-compute object file names before Xcode generation 247a132 Allow txt files as ExtraSources in object library targets b063599 Add a default source group for object files. be01f3b Xcode: Re-factor some existing methods into "FromPath" variants 2693dbe Merge branch 'object-library' into ninja-object-library 51997cb Ninja: Honor $<TARGET_OBJECTS:...> source expressions 23ec258 Merge branch 'object-library' into ninja-object-library 61124de Build object library targets in Ninja f5b06cd Pre-compute object file names before Ninja generation a2514f1 Simplify cmNinjaTargetGenerator using cmGeneratorTarget ...
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index ff05cd3..d41c827 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -59,7 +59,8 @@ class cmTarget
public:
cmTarget();
enum TargetType { EXECUTABLE, STATIC_LIBRARY,
- SHARED_LIBRARY, MODULE_LIBRARY, UTILITY, GLOBAL_TARGET,
+ SHARED_LIBRARY, MODULE_LIBRARY,
+ OBJECT_LIBRARY, UTILITY, GLOBAL_TARGET,
UNKNOWN_LIBRARY};
static const char* GetTargetTypeName(TargetType targetType);
enum CustomCommandType { PRE_BUILD, PRE_LINK, POST_BUILD };
@@ -116,6 +117,10 @@ public:
*/
std::vector<cmSourceFile*> const& GetSourceFiles();
void AddSourceFile(cmSourceFile* sf);
+ std::vector<std::string> const& GetObjectLibraries() const
+ {
+ return this->ObjectLibraries;
+ }
/** Get sources that must be built before the given source. */
std::vector<cmSourceFile*> const* GetSourceDepends(cmSourceFile* sf);
@@ -548,6 +553,7 @@ private:
std::vector<cmCustomCommand> PostBuildCommands;
TargetType TargetTypeValue;
std::vector<cmSourceFile*> SourceFiles;
+ std::vector<std::string> ObjectLibraries;
LinkLibraryVectorType LinkLibraries;
LinkLibraryVectorType PrevLinkedLibraries;
bool LinkLibrariesAnalyzed;
@@ -589,6 +595,8 @@ private:
void MaybeInvalidatePropertyCache(const char* prop);
+ void ProcessSourceExpression(std::string const& expr);
+
// The cmMakefile instance that owns this target. This should
// always be set.
cmMakefile* Makefile;