[Cmake-commits] CMake branch, next, updated. v2.8.12.1-6299-g84a1d0a
Brad King
brad.king at kitware.com
Fri Dec 20 09:36:40 EST 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 84a1d0a59bf41ce6f66c642693803a95e5b23d54 (commit)
via bd11de085757f170c5880d99291048b9f512a120 (commit)
from 7e73ba7211dfb2e88a954b03d1e08c4f2e213fc4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=84a1d0a59bf41ce6f66c642693803a95e5b23d54
commit 84a1d0a59bf41ce6f66c642693803a95e5b23d54
Merge: 7e73ba7 bd11de0
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Dec 20 09:36:38 2013 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Dec 20 09:36:38 2013 -0500
Merge topic 'make-entry-no-parallel' into next
bd11de0 Makefile: Allow "gmake target1 target2 -j" (#14312)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bd11de085757f170c5880d99291048b9f512a120
commit bd11de085757f170c5880d99291048b9f512a120
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Dec 18 16:39:11 2013 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Dec 20 09:35:20 2013 -0500
Makefile: Allow "gmake target1 target2 -j" (#14312)
Add the .NOTPARALLEL target to each local Makefile command-line
interface entry point file so that even with -j we launch only
one "make -f Makefile2" at a time. The actual build rules
in Makefile2 and lower will still run in parallel.
Do not add .NOTPARALLEL for Borland or Watcom make tools because
they do not tolerate it. Other make tools that do not understand
.NOTPARALLEL will not be hurt.
Suggested-by: Robert Luberda <robert-cmake at debian.org>
diff --git a/Source/cmGlobalBorlandMakefileGenerator.h b/Source/cmGlobalBorlandMakefileGenerator.h
index bd3db3e..70004ea 100644
--- a/Source/cmGlobalBorlandMakefileGenerator.h
+++ b/Source/cmGlobalBorlandMakefileGenerator.h
@@ -44,6 +44,8 @@ public:
*/
virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
+
+ virtual bool AllowNotParallel() const { return false; }
};
#endif
diff --git a/Source/cmGlobalUnixMakefileGenerator3.h b/Source/cmGlobalUnixMakefileGenerator3.h
index 284f5d1..ec2e1df 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.h
+++ b/Source/cmGlobalUnixMakefileGenerator3.h
@@ -125,6 +125,9 @@ public:
const std::string &workingDirectory,
const std::string &compileCommand);
+ /** Does the make tool tolerate .NOTPARALLEL? */
+ virtual bool AllowNotParallel() const { return true; }
+
protected:
void WriteMainMakefile2();
void WriteMainCMakefile();
diff --git a/Source/cmGlobalWatcomWMakeGenerator.h b/Source/cmGlobalWatcomWMakeGenerator.h
index 23e60a1..d5350ef 100644
--- a/Source/cmGlobalWatcomWMakeGenerator.h
+++ b/Source/cmGlobalWatcomWMakeGenerator.h
@@ -43,6 +43,8 @@ public:
*/
virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
+
+ virtual bool AllowNotParallel() const { return false; }
};
#endif
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 6ca386c..ec1d2c4 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1686,6 +1686,17 @@ void cmLocalUnixMakefileGenerator3
"default_target",
depends,
no_commands, true);
+
+ // Help out users that try "gmake target1 target2 -j".
+ cmGlobalUnixMakefileGenerator3* gg =
+ static_cast<cmGlobalUnixMakefileGenerator3*>(this->GlobalGenerator);
+ if(gg->AllowNotParallel())
+ {
+ std::vector<std::string> no_depends;
+ this->WriteMakeRule(ruleFileStream,
+ "Allow only one \"make -f Makefile2\" at a time, but pass parallelism.",
+ ".NOTPARALLEL", no_depends, no_commands, true);
+ }
}
this->WriteSpecialTargetsTop(ruleFileStream);
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list