summaryrefslogtreecommitdiffstats
path: root/Source/cmNinjaTargetGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-03-13 14:05:07 (GMT)
committerBrad King <brad.king@kitware.com>2012-03-16 14:18:36 (GMT)
commit61124de4c06b1195e79ee71326b902baf23c4c32 (patch)
tree827dc5df380c74bb7ea8186fcc63d446b5fd31c5 /Source/cmNinjaTargetGenerator.cxx
parentf5b06cda0f187929ac68ed64595c22d4e6ec773c (diff)
downloadCMake-61124de4c06b1195e79ee71326b902baf23c4c32.zip
CMake-61124de4c06b1195e79ee71326b902baf23c4c32.tar.gz
CMake-61124de4c06b1195e79ee71326b902baf23c4c32.tar.bz2
Build object library targets in Ninja
Treat OBJECT libraries as STATIC libraries but leave out the archive step. The object files will be left behind for reference by other targets later.
Diffstat (limited to 'Source/cmNinjaTargetGenerator.cxx')
-rw-r--r--Source/cmNinjaTargetGenerator.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index cc67434..2a78405 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -34,6 +34,7 @@ cmNinjaTargetGenerator::New(cmTarget* target)
case cmTarget::SHARED_LIBRARY:
case cmTarget::STATIC_LIBRARY:
case cmTarget::MODULE_LIBRARY:
+ case cmTarget::OBJECT_LIBRARY:
return new cmNinjaNormalTargetGenerator(target);
case cmTarget::UTILITY:
@@ -221,7 +222,8 @@ ComputeDefines(cmSourceFile *source, const std::string& language)
cmNinjaDeps cmNinjaTargetGenerator::ComputeLinkDeps() const
{
// Static libraries never depend on other targets for linking.
- if (this->Target->GetType() == cmTarget::STATIC_LIBRARY)
+ if (this->Target->GetType() == cmTarget::STATIC_LIBRARY ||
+ this->Target->GetType() == cmTarget::OBJECT_LIBRARY)
return cmNinjaDeps();
cmComputeLinkInformation* cli =