summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalUnixMakefileGenerator3.h
Commit message (Collapse)AuthorAgeFilesLines
* cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.Stephen Kelly2015-05-271-1/+2
| | | | | | | | | | | Refactor the local generator creation API to accept a cmState::Snapshot. Adjust MakeLocalGenerator to use the 'current' snapshot in cases where there is no parent. Create the snapshot for subdirectories in cmMakefile::AddSubdirectory. This means that snapshots are now created at the point of extending the tree, as appropriate, and independently of the cmLocalGenerator and cmMakefile they represent the state for.
* cmGlobalGenerator: Require a cmake instance in ctor.Stephen Kelly2015-05-271-1/+1
| | | | It is required anyway, so this makes it explicit.
* cmGlobalUnixMakefileGenerator3: Host the UnixCD.Stephen Kelly2015-05-181-0/+1
|
* cmGlobalUnixMakefileGenerator3: Host the PassMakeflags.Stephen Kelly2015-05-181-0/+1
|
* cmGlobalUnixMakefileGenerator3: Host the DefineWindowsNULL.Stephen Kelly2015-05-161-0/+1
|
* cmGlobalUnixMakefileGenerator3: Host the include directive.Stephen Kelly2015-05-161-0/+2
| | | | There is no sense in copying this to each cmLocalGenerator.
* cmLocalGenerator: Require a parent in the constructor.Stephen Kelly2015-04-281-1/+1
| | | | | | | Pass the parent though cmGlobalGenerator::CreateLocalGenerator. This will make it easy to initialize state scopes independent of cmMakefile.
* Makefile: Tell GNU make to delete rule outputs on error (#15474)Brad King2015-03-301-0/+3
| | | | | | | | | | | | | | Add .DELETE_ON_ERROR to the "build.make" files that contain the actual build rules that generate files. This tells GNU make to delete the output of a rule if the recipe modifies the output but returns failure. This is particularly useful for custom commands that use shell redirection to produce a file. Do not add .DELETE_ON_ERROR for Borland or Watcom make tools because they may not tolerate it and would not honor it anyway. Other make tools that do not understand .DELETE_ON_ERROR will not be hurt. Suggested-by: Andrey Vihrov <andrey.vihrov@gmail.com>
* cmake: Teach --build to honor CMAKE_VERBOSE_MAKEFILE for NinjaGregor Jasny2015-02-261-1/+1
| | | | | | | | | The Ninja build system does not support a in-file verbositiy switch. Instead teach 'cmake --build' to extract the CMAKE_VERBOSE_MAKEFILE setting and pass it as an optional '-v' argument to Ninja. This can serve as a reasonable fallback. Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Fix some spelling errors in commentsGeoff Viola2014-10-131-1/+1
|
* Makefiles: Remove duplicate code.Stephen Kelly2014-03-171-3/+1
| | | | | The cmGlobalUnixMakefileGenerator3::ProgressMapCompare struct is logically equivalent to cmStrictTargetComparison.
* cmGlobalGenerator: Make ComputeTargetObjects non-virtualStephen Kelly2014-03-151-1/+0
| | | | | | | | Implement it in terms of the ComputeObjectFilenames virtual method on the local generators. Remove the reimplementation from the global generators which are now all functionally identical.
* cmGlobalGenerator: Extract a ComputeTargetObjectDirectory interface.Stephen Kelly2014-03-131-0/+1
| | | | Make it public for future external calls.
* stringapi: Use strings for program pathsBen Boeckel2014-03-081-1/+1
|
* stringapi: Use strings for generator namesBen Boeckel2014-03-081-2/+2
|
* stringapi: Use strings for directoriesBen Boeckel2014-03-081-1/+1
|
* stringapi: Pass configuration names as stringsBen Boeckel2014-03-081-1/+1
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-1/+1
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* stringapi: Use strings for VS project namesBen Boeckel2014-03-081-1/+1
|
* stringapi: Use strings in target nameBen Boeckel2014-03-081-1/+1
|
* cmGlobalGenerator: Make CheckALLOW_DUPLICATE_CUSTOM_TARGETS constStephen Kelly2014-01-121-1/+1
|
* Merge topic 'make-entry-no-parallel'Brad King2013-12-201-0/+3
|\ | | | | | | | | bd11de0 Makefile: Allow "gmake target1 target2 -j" (#14312)
| * Makefile: Allow "gmake target1 target2 -j" (#14312)Brad King2013-12-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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@debian.org>
* | Constify handling of target dependencies.Stephen Kelly2013-12-111-4/+5
|/
* cmGlobalGenerator: Cleanup GenerateBuildCommand APIBrad King2013-11-181-6/+10
| | | | | | | | | All cmGlobalGenerator::GenerateBuildCommand call sites that need to produce a string now generate "cmake --build" commands. The remaining call sites immediately pass the result to cmSystemTools::RunSingleCommand. Avoid the intermediate string and argument parsing by directly producing a vector of strings. Also drop the ignoreErrors argument because no call sites remain that use it.
* cmGlobalGenerator: Add method to compute "cmake --build" command lineBrad King2013-11-141-0/+1
| | | | | | Create a GenerateCMakeBuildCommand method to generate a command-line string invoking "cmake --build" for a given target and configuration. Optionally allow the "-i" make flag and additional native options.
* Refactor tool selection for edit_cache (#14544)Brad King2013-11-121-0/+3
| | | | | | | | | Refactor edit_cache tool selection to ask each global generator for its preference. Teach the Ninja generator to always use cmake-gui because Ninja by design cannot run interactive terminal dialogs like ccmake. Teach the Makefile generator to use cmake-gui when also using an "extra" generator whose IDE has no terminal to run ccmake, and otherwise fall back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
* Add projectDir parameter to GenerateBuildCommandPetr Kmoch2013-04-121-1/+2
| | | | | | | | Extend the cmGlobalGenerator::GenerateBuildCommand virtual method signature with a "projectDir" parameter specifying the top of the project build tree for which the build command will be generated. Populate it from call sites in cmGlobalGenerator::Build where a fully-generated build tree should be available.
* Make cmGlobalGenerator::GetDocumentation() a static functionPatrick Gansterer2012-11-191-1/+1
| | | | | Making the function static allows us to call it directly, without creating and removing an instance of the generator.
* Introduce the abstract class cmGlobalGeneratorFactoryPatrick Gansterer2012-11-191-2/+4
| | | | | This new abstract class allows us move some logic from the cmGlobalGenerator into its own layer in a next step.
* Pre-compute object file names before Makefile generationBrad King2012-03-091-0/+2
| | | | | | | Add a virtual cmGlobalGenerator::ComputeTargetObjects method invoked during cmGeneratorTarget construction. Implement it in the Makefile generator to pre-compute all object file names for each target. Use the results during generation instead of re-computing it later.
* Doxygen: Fix warnings.Nicolas Despres2011-10-231-1/+1
|
* Fix typo.Nicolas Despres2011-10-231-1/+1
|
* Fix line-too-long style violationsBrad King2011-10-101-12/+12
| | | | | | Commit 8a0eb78f (Constify many getters of cmGlobalGenerator, 2011-03-26) added const qualifiers to many cmGlobalGenerator methods but left the resulting lines beyond our style's limit of 79 characters.
* Constify many getters of cmGlobalGenerator.Nicolas Despres2011-10-021-11/+11
|
* Merge topic 'output-compile-lines'Brad King2011-05-241-0/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cdc2b41 Fix CompileCommandOutput test build on Windows 7039d1f Fix CompileCommandOutput test for Make tools not supporting spaces 4268e3d run_compile_commands: Cast istream::get() result to char c45c60b run_compile_commands: Avoid extra stl vector conversion 7c5be51 run_compile_commands: Avoid shadow in std::map<>::at workaround 169bb05 Provide std::map<>::at for use in run_compile_commands 4e2185c Make std::map usage more portable in language=>flags/defines maps a7e7a04 Fix run_compile_commands build on Apple GCC 3.3 c9174c0 Fix signed/unsigned comparison in EscapeJSON 8346a28 Only offer the compile command output feature on unix systems 0e6b05f Adds a test for the compile command line output. 5674844 make compile command output optional fe07b05 implement cxx command output 65c0c24 cache flags and defines 3f064ef refactor flags and defines
| * implement cxx command outputManuel Klimek2011-04-251-0/+6
| |
* | Merge branch 'MakeCodeBlocksGeneratorNonVerbose2' into rule-messagesBrad King2011-05-161-25/+13
|\ \ | |/ | | | | | | | | Conflicts: Source/cmGlobalUnixMakefileGenerator3.cxx Source/cmGlobalUnixMakefileGenerator3.h
| * Don't enforce VERBOSE makefiles for the CodeBlocks generatorAlex Neundorf2010-11-111-11/+0
| | | | | | | | | | | | | | | | | | Instead of enforcing verbose makefile, now the generated build command includes "VERBOSE=1" so the output will be verbose when building in C::B. Also removed the now unused setForceVerboseMakefiles(). Alex
| * Remove trailing whitespaceAlex Neundorf2010-11-111-14/+14
| | | | | | | | Alex
* | Revert "Honor RULE_MESSAGES property for build target messages" (#12190)Brad King2011-05-161-1/+0
|/ | | | | | This reverts commit dc36b3499403bad323d7300139fbf459c31f7a2c. It broke dependency logic instead of only silencing messages. Revert to previous behavior.
* Honor RULE_MESSAGES property for build target messagesCampbell Barton2010-11-031-0/+1
|
* Fix or cast integer conversions in cmakeBrad King2010-06-251-1/+1
| | | | | These were revealed by GCC's -Wconversion option. Fix types where it is easy to do so. Cast in cases we know the integer will not be truncated.
* Qualify std::map compare functor as constBrad King2009-09-291-1/+1
| | | | | | | Some older STL implementations invoke the comparison functor as a const object, so the function call operator must be 'const' qualified. This fixes the commit "Fix support for OLD behavior of policy CMP0002" to compile on older STLs.
* Fix support for OLD behavior of policy CMP0002Brad King2009-09-281-1/+3
| | | | | | | | | The commit "Cleanup make progress rule generation code" introduced a map from target name to the progress.make file location. Policy CMP0002's OLD behavior allows duplicate target names in different directories, so only one ends up with a progress.make file. This commit fixes the map to order by target name first and build directory second, restoring support for duplicate target names.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* ENH: Cleanup make progress rule generation codeBrad King2009-06-251-5/+19
| | | | | | | | This cleans up the Makefile generator's progress rule code. Instead of keeping every cmMakefileTargetGenerator instance alive to generate progress, we keep only the information necessary in a single table. This approach keeps most of the code in cmGlobalUnixMakefileGenerator3, thus simplifying its public interface.
* COMP: remove unused variable TargetSourceFileCount, it seems it is unused ↵Alexander Neundorf2009-02-091-1/+0
| | | | | | | | since version 1.88 of cmGlobalUnixMakefileGenerator3.cxx patch by Daniel DOT Teske AT Nokia DOT com Alex
* BUG: improve progress reporting when there are multiple targets with the ↵Ken Martin2008-05-291-1/+1
| | | | same name, bug# 7042
* ENH: Add global property ALLOW_DUPLICATE_CUSTOM_TARGETS to help existing ↵Brad King2008-02-141-0/+2
| | | | projects that depend on having duplicate custom targets. It is allowed only for Makefile generators. See bug#6348.