summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-11-19 15:55:39 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2013-11-19 15:55:39 (GMT)
commit1da77bf1ee4f3ba315ebb00da2eaeac474614cad (patch)
tree3832a8e9ce070baea6434691201d873bb54f3958 /Source/cmGlobalGenerator.h
parent856468213640417d401c6ff70c1f43c1c31145dc (diff)
parent4cce44b6c50a40ee13f423ae311d5db5a66a13f4 (diff)
downloadCMake-1da77bf1ee4f3ba315ebb00da2eaeac474614cad.zip
CMake-1da77bf1ee4f3ba315ebb00da2eaeac474614cad.tar.gz
CMake-1da77bf1ee4f3ba315ebb00da2eaeac474614cad.tar.bz2
Merge topic 'cleanup-build-commands'
4cce44b Help: Document the CMAKE_MAKE_PROGRAM variable in more detail 558c74d VS: Switch to internal CMAKE_MAKE_PROGRAM lookup by generators 5229f2d Tests: Do not use an explicit make program for VS generators 72dd738 Tests: Fix MFC test heuristic for empty CMAKE_TEST_MAKEPROGRAM fd6076d Tests: Pass CMAKE_MAKE_PROGRAM instead of --build-makeprogram 68031ab Tests: Configure SubProject-Stage2 test more robustly 003d10c Tests: Simplify VSExcludeFromDefaultBuild configuration e47d934 Tests: Simplify VSProjectInSubdir configuration e965cb1 Tests: Simplify CTest.BuildCommand.ProjectInSubdir configuration 72bf255 Tests: Pass --build-options to every test 4d1d772 ctest: Teach --build-options to allow zero options 96966b5 ctest: Make the --build-makeprogram optional for --build-and-test 91a0211 Simplify some calls to cmGlobalGenerator::Build 123a060 Teach GenerateBuildCommand to find its own make program 5f5c92b VS: Add internal APIs to find MSBuild, devenv/VCExpress, and msdev 4ac75fd Prefer CMAKE_MAKE_PROGRAM over CMAKE_BUILD_TOOL (#14548) ...
Diffstat (limited to 'Source/cmGlobalGenerator.h')
-rw-r--r--Source/cmGlobalGenerator.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 8aebae8..ae139ed 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -123,17 +123,22 @@ public:
bool clean, bool fast,
double timeout,
cmSystemTools::OutputOption outputflag=cmSystemTools::OUTPUT_NONE,
- const char* extraOptions = 0,
std::vector<std::string> const& nativeOptions =
std::vector<std::string>());
- virtual std::string GenerateBuildCommand(
+ virtual void GenerateBuildCommand(
+ std::vector<std::string>& makeCommand,
const char* makeProgram,
const char *projectName, const char *projectDir,
- const char* additionalOptions,
- const char *targetName, const char* config,
- bool ignoreErrors, bool fast);
+ const char *targetName, const char* config, bool fast,
+ std::vector<std::string> const& makeOptions = std::vector<std::string>()
+ );
+ /** Generate a "cmake --build" call for a given target and config. */
+ std::string GenerateCMakeBuildCommand(const char* target,
+ const char* config,
+ const char* native,
+ bool ignoreErrors);
///! Set the CMake instance
void SetCMakeInstance(cmake *cm);
@@ -198,7 +203,7 @@ public:
/*
* Determine what program to use for building the project.
*/
- void FindMakeProgram(cmMakefile*);
+ virtual void FindMakeProgram(cmMakefile*);
///! Find a target by name by searching the local generators.
cmTarget* FindTarget(const char* project, const char* name,
@@ -331,6 +336,8 @@ protected:
typedef std::vector<std::pair<cmQtAutoGenerators, cmTarget*> > AutogensType;
void CreateQtAutoGeneratorsTargets(AutogensType& autogens);
+ std::string SelectMakeProgram(const char* makeProgram,
+ std::string makeDefault = "");
// Fill the ProjectMap, this must be called after LocalGenerators
// has been populated.
@@ -424,6 +431,8 @@ private:
void ClearGeneratorMembers();
+ virtual const char* GetBuildIgnoreErrorsFlag() const { return 0; }
+
// Cache directory content and target files to be built.
struct DirectoryContent: public std::set<cmStdString>
{